We teach how to build sites using WordPress, using similar techniques and workflow as you have with Drupal. This allows you to retain the power and flexibility of Drupal while enjoying the simplicity and usability of WordPress.
Part 1 – Basic Drupal Features and WordPress Equivalents
Technically, Drupal and WordPress are extremely similar. The following table summarizing key site-building elements in Drupal and their WordPress equivalents.
|Site-element||Drupal||WordPress (using Types plugin||Notes|
|Basic content elements||Nodes||Posts||WordPress began as a blogging platform, so everything initially produced was a post. “Pages” and then custom post types were later added. Fortunately, all content remains saved in a single “posts” table, which is similar to Drupal’s nodes table.|
|Fields||Fields||Custom fields, User fields||Usually, when explaining custom fields in WordPress, we refer to a post-meta table. Each entry in the table includes a key and a value. The entry belongs to a post. In addition, WordPress uses a table for user metadata. The metadata table contains entries that belong to users.|
|Blocks||Blocks||Widgets||Usually in WordPress, themes register widgets areas, allowing site admins to drag functions into them. Many plugins and themes create custom widgets that offer unique functionality.|
|Menus||Menus||Menus||Menu functionality in WordPress and Drupal is similar.|
Part 2 – Drupal Modules are WordPress Plugins
Both Drupal and WordPress cores come with basic functionality. Moreover, both systems are easy to extend. In Drupal, extensions are called modules. In WordPress, they are called plugins.
We explain how to migrate from Drupal to WordPress by using Toolset plugins.
|Content types and fields||Core||Types plugin|
|Content display engine||Views module (in Drupal-8’s core)||Views plugin|
|Access control||Core||Access plugin|
|Forms||Webforms, Formblock modules||CRED plugin|
|Layout design||Panels module||Layouts plugin|
Part 3 – Setting up Content Types and Fields
Drupal Version 7 and higher lets you define custom content types without the need to use any module.
WordPress core supports custom content types, but does not use a graphical user interface (GUI) to define them. Types plugin allows you to register content types, fields, and custom taxonomy. Types plugin acts as a GUI for WordPress core functionality. This means that your content will reside in standard WordPress tables, making it easily accessible for themes and other plugins.
First, you install Types plugin.
Part 4 – Designing Templates for Content
Both Drupal and WordPress use a templates system, which allows you to design single-item templates. WordPress Views plugin includes Content Templates, which you can use to design templates without having to edit PHP. Content Templates contain a mixture of HTML and fields, and they allow developers to select fields using a convenient GUI.
|What||Drupal||WordPress (Types plugin)|
|Design single-item templates||Create .tpl files for different content types.||Create single .php files for different content types or use Content Templates in Views plugin.|
Part 5 – Loading Content from the Database and Displaying it on the Front End
Once content has been registered, you can create the Views that display them. A View loads and displays content from the database.
It you are accustomed to using Drupal Views, you will feel right at home with the WordPress Views plugin. WordPress Views is written from scratch and has no relationship with Drupal Views code. It has similar basic features and emphasizes usability and performance.
In general, the Drupal Views interface is more compact than that of WordPress. By contrast, the WordPress Views interface is more detailed and allows you to edit the HTML for every element directly in the View editor.
Part 6 – Creating Forms for Front-End Content Creation
Drupal has several great “forms” modules. Because the different form modules function quite differently, we will simply describe how to generate content-editing forms using CRED plugin.
When you create CRED forms, you choose:
- whether the form edits or creates content
- the content type on which the form operates
- the HTML design of the form and the fields it includes
- notification emails generated when the form is submitted
CRED works together with Types. Thus, if you have set a field as “required”, that field will also be required when editing the content from the front end.
CRED has a scaffolding feature that allows you to generate fully-functional and attractive forms in a single click. The form will include the HTML and all shortcodes for fields. After you create the form with the scaffold, you can edit its HTML freely to obtain the exact appearance you want.
Part 7 – Controlling Access to Different Parts of the Site
Drupal core includes a robust access control functionality. WordPress the infrastructure for access control and for registering custom roles. However, it requires a plugin to display access control options. Access plugin provides this GUI and allows fine-grained control over all access options.
Define custom roles
You can add roles and change their basic settings via People >> Roles.
Access plugin allows you to add custom roles, set their ‘levels’, and assign them capabilities. Capabilities determine what people can do in WordPress.
Determine the admin screens users can access
Go to People >> Permissions to see a full matrix of the different admin actions users can perform.
Click on Change permissions next to the role to indicate the actions these users can perform in the WordPress admin.
Control what users can do with contentDifferent modules, such as Nodeaccess, exist for controlling access to nodes. Nodeaccess allows you to control read access (viewing), editing-access and delete-privileges.Access includes detailed control of different roles and the actions individual users can perform on content.
Determine what visitors see on the site’s front endNodeaccess can also help you with read access to the front end.You can control what people see when they do not have read permission for content. This includes 404 pages and customized “no access” templates for content. You can also include and exclude partial content of a page based on access rights.
|What||Drupal access control||WordPress Access|
Part 8 – Drag-and-Drop Layouts
Drag-and-Drop design lets you build sites faster. It also allows less technical users to edit the site’s structure, without having to learn to code. Drupal’s favorite drag-and-drop module is Panels. Toolset package offers Layouts.
Layouts plugin operates only with Bootstrap CSS. If you want to use the plugin, you can start with one of our reference Bootstrap themes or integrate it into your own Bootstrap-based theme. Integration requires editing a few lines of PHP in the theme’s template files.
Among Layouts’ features:
- allows your clients to easily change the structure of pages or the entire site without having to master the underlying HTML and CSS
- completely integrated with Views and CRED so you can create View cells and CRED forms directly inside the layout editor
- supports hierarchical design, which means you can create a parent layout for the frame of the site and child layouts for different pages
- can be used with any Bootstrap-based theme
Some Themes and Plugins Cost Money in WordPress
In Drupal, asking for money for themes and modules is still considered taboo. In WordPress, many quality themes and plugins are commercial.
If you have been in the web-development business for a while, you probably know that there are no “free lunches”. Perhaps this is why you are considering a move to WordPress.
When you purchase commercial themes and plugins, you spend money, but you also save money. Any purchase entitles you to support, which can save you precious time and valuable money.
Specifically, with Toolset plugins, you receive:
- Unlimited sites – you can use Toolset plugins on all your sites as well as on sites you build for your clients.
- Automatic updates from the WordPress admin – saves you time downloading updates and installing them manually.
- Expert support – our support team is comprised entirely of developers. We provide support five days per week, 19 hours per day. When you are working, we are too.
Everyone claims their products are stable and well maintained. Toolset team includes developers, supporters, testers and designers who are all working full time on Toolset plugins.
Thinking about moving to WordPress and need some help? Ask us by leaving a comment.