Full site editing is available with the Gutenberg plugin installed.
A first version is planned to be included in WordPress 5.8, without needing the plugin.
Full site editing will not affect your existing website unless you choose to activate a theme that has support for full site editing.
From Gutenberg version 9.3.0, you no longer need to enable full site editing manually. If you are using an older version, you can download the latest version from the WordPress plugin directory.
Full site editing is still experimental, but the features are automatically enabled when you activate a full site editing theme.
On activation, you will see this notice in the WordPress admin area:
As Gutenberg is updated every two weeks, I recommend that you use the latest release.
A theme that has support for full site editing will have a folder called block-templates.
Please visit this page where I have a list of themes that you can use.
There are many places where the word “template” is used in full site editing.
When I say custom post templates I mean templates that can be selected in the editor’s page attribute setting. A selectable template that is different from the default page design. This feature requires at least Gutenberg version 9.7.
Select your blocks and create an HTML file that you place inside the block-templates folder.
In the experimental-theme.json file, at the root level, add a new property called customTemplates:
“title”: “Two sidebars”
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 in the templates, 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, but consider if this is something that should be in a theme or a plugin. This depends on what 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.
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.
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 possible to use custom comment walkers, but this seems to be a bug.
And if you add a comments.php file to your theme, it will be used to render the comments.
The good news is that you won’t need to because you will be able to use individual blocks to arrange your comments and the comments form.
No, but there are lessons about custom block styles, variations, and block patterns.
The videos are captioned and full transcripts including the code examples are available on each lesson page.
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.
-If you find a question on this page that has no answer yet, please feel free to contribute.