Wordpress and Drupal jargon compared

I made the following comparison of Wordpress and Drupal terminology for a customer and figured others might find it useful too.

Important: undoubtedly the very existence of this table will create the impression that Wordpress and Drupal are much alike. This is obviously true in some aspects – both are open source CMS-es based on a XAMPP stack for instance – but the underlying philosophies of both systems can vary wildly.

I will try and give a few examples after the jargon comparison.

Wordpress Drupal
Plugin Module
Theme Theme
Sidebar Region
Widget Block
Menu Menu
Dashboard Dashboard
Admin
menu
Admin
menu
Post Article
Page Page
Custom
post type
Content
type
User User
Template* Template
Template
part*
Template
Hook** Hook
Action** Hook
Filter*** Hook
Filter Filter
n/a Render
array
n/a Form
Shortcode Token****
n/a Entity
n/a Bundle
Media
Library
Media
Library
Blocks n/a
Options Variables
(D7), Config (D8+)
Codex api.drupal.org
wpquery View

* Drupal’s templates are more powerful than Wordpress’. Drupal makes almost everything themable, meaning you can make a template for almost everything. This has advantages for child-themes (you only have to define template parts, which are just called templates; Drupal will figure out which one to load) and for modules, which can define templates for their own output, which in turn can be overwritten by themes. Instead of templates you can also use theming hooks.

** ‘Hook’ is programming terminology. Wordpress sub-divides its hooks into actions and filters. Drupal lets you define hooks by prefixing function names with the name of your custom theme or module. E.g. theming hooks are called THEME_preprocess_HOOK and THEME_process_HOOK, where THEME is the machine name of your theme and HOOK is the part of the page you want to alter, e.g. ‘page’, ‘block’, ‘section’ and so on.

*** Drupal’s filters are typically only used to change text before it is being output to the browser. In Drupal 7 and earlier filters were defined using hooks, in later versions using ‘plugins’ (not the Wordpress kind, obviously).

**** Tokens require a third-party module.

Discussion

Where Wordpress is a CMS, Drupal has historically been more of a CMS construction kit – simply installing Drupal was never enough to run a website. Wordpress on the other hand has its famous 5-minute install: you can literally be up-and-running in that litle time – assuming you do not want anything complicated.

Wordpress has a rich ecosystem of large, monolithic plug-ins (often with paid expansions typically called the Pro version) which give you everything but the kitchen sink for any given functionality.

Drupal on the other hand typically has leaner modules that tend to cooperate well with other modules – meaning you can build functionality from combining modules. Since Drupal sites are typically built by professional coders, this way of glueing together small modules works well for the system.

Drupal even has modules that were specifically made to provide an API – although I am not entirely comfortable with the comparison. Wordpress provides such a large ecosystem, that the combination of Wordpress and a popular plugin can be considered a CMS in its own right.

For example if you considered the Wordpress + Elementor combination to be a CMS of its own, it would be more popular than Drupal. The result is that these popular plugins become their own API’s, even if they are very ugly API’s that can be difficult to develop against.

The existence of the table above suggests that the jargon I have compared is closely related, but the different philosophies underlying both systems permeate through each concept. As a result, finding the right terminology tends to be little more than a starting point.

Leave a Reply

Your email address will not be published. Required fields are marked *