On this FAQ page I will try answer frequently asked questions about full site editing and the courses. You can also send me your own questions.
General questions about full site editing
Full site editing and the Site Editor is available right now if you have updated your website to WordPress 5.9 or 6.0.
Full site editing is a name for several new features. The features will be added to WordPress in different phases.
New site blocks, block settings, and the template editor was added to WordPress in version 5.8.
Additional features like the site editor, global styles interface and template parts, were added to WordPress 5.9.
If you are curious about features that may be included in WordPress 6.1, you can install and test the Gutenberg plugin.
You will have access to new blocks and new features for some existing blocks, depending on what your theme supports.
Your current website will not break. If your theme has been updated with support for editing templates, than that feature is optional and you can use it, or choose not to use it.
You have several options:
– You can ask the people who created your theme to add support for templates
– You can change your theme
or, you can enable custom templates by installing my plugin:
https://wordpress.org/plugins/enable-template-editor/
It is a very small plugin, but with it, you do not need to edit the code in the theme.
Please visit this page where I have a list of themes that you can use.
You no longer need to enable full site editing or the Site Editor manually.
When you activate a full site editing theme (also called block theme) WordPress automatically enables the features.
To access the Site Editor, go to the WordPress admin, Appearance, Editor.
As Gutenberg is updated every two weeks, I recommend that you use the latest release.
Block themes uses blocks instead of widgets. Widget areas (sometimes called sidebars) are no longer needed because you can place blocks anywhere. You are no longer restricted to placing content in areas that the theme developer has decided.
Technical questions
Custom templates are available for block themes and for classic themes that has support for the new template editing feature that was added in WordPress 5.8.
You add custom templates to your website with the template editor.
Create a new post or page in the block editor.
Locate the Template section of the post settings sidebar.
There, you will see a select list with the available templates.
Click the “New” link to create a new template:
You will be asked to select a name for the template, and you will be redirected to the template editor.
Once in the template editor, you can edit the full page and add page header, footer, etc.
Remember to save the changes.
With HTML files:
Select your blocks and create an HTML file that you place inside the templates folder.
In the theme.json file, at the root level, add a new section called customTemplates:
“customTemplates”: [
{
“name”: “about”,
“title”: “about”
}
]
The first value is the file name (slug) that you selected for the template,
and the title is the visible name in the editor.
You can find more information in the official documentation.
Instead of PHP if… else statements, you can use block settings and CSS.
The theme can still have different body classes depending on which page you are viewing, so you can use CSS to show or hide elements.
If the block settings are not enough to achieve what you need, you can extend existing blocks by adding new settings. Block attributes can be filtered and you can read more about this in the block editor handbook.
But consider if this is something that should be in a theme or a plugin. This depends on what or who you are using the theme for.
If you have a really good example of when you would need to use a conditional, and you can’t achieve the same results using the available options, I encourage you to bring it up for discussion on the Gutenberg GitHub repository.
Also see the article How to use PHP templates in a block themes.
If you need to use custom action hooks- I will assume that this is what most people are wondering about; you will need a custom block.
I don’t have enough experience with creating custom blocks to be able to guide you, but you would likely be using the wp.hooks package with addAction and doAction.
Reference: https://developer.wordpress.org/block-editor/packages/packages-hooks/
Some actions and filters will work the same way for both classic and FSE themes, but not all, and there are bugs.
You will be able to use actions like wp_body_open and wp_footer like before.
Many blocks use PHP for the front, and for some blocks, the PHP filter only affects the front. One known bug is that if you want to change the default excerpt length, you need to use both the PHP excerpt_length filter and update the WordCount block attribute.
I encourage you to help test existing filters so that bugs like these can be found and solved.
I have not done any testing with menu walkers but I expect some individual filters to work. I suggest reading through the source code for the navigation block first.
You will be able to add blocks as menu items to the navigation block, and this may reduce the need for menu walkers.
It is currently (2021) possible to use custom comment walkers, but this seems to be a bug more than anything. If you add a comments.php file to your theme, it will actually be used to render the comments.
The good news is that you won’t need to use comment walkers because you will be able to use individual blocks to arrange your comments and the comments form.
Questions about the course
No, this is not a JavaScript-heavy course.
No, but there are lessons about custom block styles, variations, and block patterns.
Do you have a question about full site editing?
Send me your questions and I will try my best to answer them or do some testing. If I don’t know the answer, I can pass the question on and publish it here.
I answer each question as soon as I have the time: Sometimes this can be right away, and sometimes it can be once per week.
-If you find a question on this page that has no answer yet, please feel free to contribute.