Block Themes für WordPress sind einfach ungeheuer flexibel. Im Grund kann man mit jedem Block-Theme so ziemlich jedes Layout bauen das man möchte. Neues Design gefällig? – Früher musste man sich ein neues Theme dafür suchen. Heute stellt man einfach die Elemente in seinen Templates im Site-Editor um, ändert die globalen Farben, die Schrift, die globalen Block-Einstellungen, was immer man möchte. Und schon ist das Redesign gemacht, ohne dass man gleich ein neues Theme braucht.
Ich verwende daher dasselbe Block-Theme für mehrere Projekte, da es sich ja leicht an die individuellen Design-Anforderungen anpassen lässt. Doch dann kam ein Projekt, das um ein Wiki erweitert werden sollte. Dafür entwickelte ich ein Plugin mit einem neuen Post Type und Kategorien, und wollte auch gleich Templates dazu liefern. Die Templates sollte aber nicht in allen Projekten vorkommen, sondern nur in dem mit dem Wiki.
Seit WordPress 6.7 gibt es die Funktion register_block_template(), um neue Templates via Plugin zu registrieren, die dann im Site-Editor beliebig bearbeitet werden können.
add_action('init', 'register_wiki_templates');
function register_wiki_templates() {
register_block_template(
'myplugin-wiki//single-wiki',
array(
'title' => __('Wiki Doc', 'myplugin-wiki'),
'description' => __('Single template for wiki entries.', 'myplugin-wiki'),
'content' => '<!-- wp:heading {"level":1} --><h1>Wiki</h1><!-- /wp:heading -->
<!-- wp:paragraph --><p>Wiki Article</p><!-- /wp:paragraph -->',
'post_types' => array('wiki'),
)
);
register_block_template(
'myplugin-wiki//archive-wiki',
array(
'title' => __('Wiki Archive', 'myplugin-wiki'),
'description' => __('Archive template for wiki entries.', 'myplugin-wiki'),
'content' => '<!-- wp:heading {"level":1} --><h1>Wiki Archive</h1><!-- /wp:heading -->
<!-- wp:paragraph --><p>Wiki Archiv</p><!-- /wp:paragraph -->',
'post_types' => array('wiki'),
)
);
register_block_template('myplugin-wiki//taxonomy-wiki_category', array(
'title' => esc_html__('Wiki Category Archive', 'myplugin-wiki'),
'description' => esc_html__('Block template for wiki category archive.', 'myplugin-wiki'),
'content' => '<!-- wp:heading {"level":1} --><h1>Wiki Category</h1><!-- /wp:heading -->
<!-- wp:paragraph --><p>Wiki Category</p><!-- /wp:paragraph -->',
));
}‚content‘ kann auch mit dem kompletten Inhalt z.B. einer single.hmtl aus dem Theme befüllt werden.




Schreibe einen Kommentar