For me, FSE themes have really taken WP to the next level for custom theme development. There are a lot of benefits, but the biggest one is that our internal non-developer teams can easily update WP sites now, and so can the client while still being forced into a standard design (I hide most of the default WP blocks, which are more or less useless).
To be clear, I’m not creating fully custom designs inside of the WP admin but rather fully custom blocks that create the base design for each archive and single post (saved to patterns when complete). This gives non-tech users flexibility while still being forced to stay within the design scope.
I don’t have time today to go through my whole process and all the huge benefits of FSE over the traditional themes for custom development, but I will come back with all my thoughts on that soon.
For now, I’m happy to hand code my theme.json, but as I continue to build, I’ll create a list of frequent use cases that could benefit from a UI for theme.json beyond the color creation tool we already have.
I’m 100% in FSE going forward, as there is no benefit to a hybrid version for me.
The only thing that I really don’t like right now is all the extra functions that PG puts into fuctions.php which are not needed for for FSE themes. The big one is creating the Menus when I don’t use the old-style menus in WordPress very often and never use a Social menu when I do create them. Here are the ones I’m pretty sure are not needed:
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'fse_expert' ),
'social' => __( 'Social Links Menu', 'fse_expert' ),
) );
function fse_expert_widgets_init() {
/*
* Register widget areas.
*/
/* Pinegrow generated Register Sidebars Begin */
/* Pinegrow generated Register Sidebars End */
}
add_action( 'widgets_init', 'fse_expert_widgets_init' );
function fse_expert_customize_register( $wp_customize ) {
// Do stuff with $wp_customize, the WP_Customize_Manager object.
/* Pinegrow generated Customizer Controls Begin */
/* Pinegrow generated Customizer Controls End */
}
add_action( 'customize_register', 'fse_expert_customize_register' );
I’m also not sure if the ‘add_theme_support’ functions are needed for FSE themes.