Dvě nové funkce a filter pro tvůrce šablon ve WordPress 4.7

Mezi dalšími novinkami, které přináší WordPress 4.7, jsou i dvě nové funkce a nový filter, určené pro vývojáře šablon.

Speciálně pro vytváření child themes, jsou určeny dvě nové funkce get_theme_file_uri a get_theme_file_path.

Jedním z nepostradatelných prvků, při vytváření odvozených šablon, je funkce get_template_part. Funguje poměrně jednoduše. Například:

get_template_part('page' 'content')

hledá nejprve soubor page-content.php, nejprve v child theme a pokud jej nenajde, hledá soubor v parent theme. Díky tomu, můžete jednoduše nahrazovat soubory rodičovské šablony.

U css a js souborů to zatím bylo tak, že jste je museli nejprve odregistrovat a následně vložit váš upravený soubor.

Get_theme_file_uri přináší do vývoje šablon, přesně ten mechanismus, jako u get_template_part.

wp_enqueue_script( 'my-script', get_theme_file_uri( 'js/my-script.js' ) );

Můžeme tak velmi lehce například v child šabloně nahradit javascriptový soubor, v němž potřebujeme udělat úpravy.

Navíc, na rozdíl od get_template_directory_uri, je možné jako parametr funkce zadat samotný soubor. Navíc je zde filtr theme_file_uri, který umožní manipulovat s vkládanými soubory pomocí pluginů.

Ekvivalentem k této nové funkci je get_theme_file_path.

{$type}_template_hierarchy filter

Přestože můžete s hierarchií šablony manipulovat pomocí filtru template_include, v novém WordPressu budou přidány nové filtry, jenž umožní manipulovat s hierarchií šablony na úrovni konkrétního typu souboru šablony.

Pokud například budete chtít změnit hierarchii v archívech, vypisující posty podle data, můžete postupovat takto:

add_filter( 'date_template_hierarchy', function( array $templates ) {
    $year = get_query_var( 'year' );
    array_unshift( $templates, "year-{$year}.php" );
    return $templates;
} );

V případě, že nemáte přesnou představu o fungování hierarchie v šablonách, raději se těmto úpravám vyhněte.

Filtry, jenž můžete použít:

  • embed_template_hierarchy
  • 404_template_hierarchy
  • search_template_hierarchy
  • frontpage_template_hierarchy
  • home_template_hierarchy
  • taxonomy_template_hierarchy
  • attachment_template_hierarchy
  • single_template_hierarchy
  • page_template_hierarchy
  • singular_template_hierarchy
  • category_template_hierarchy
  • tag_template_hierarchy
  • author_template_hierarchy
  • date_template_hierarchy
  • archive_template_hierarchy
  • paged_template_hierarchy
  • index_template_hierarchy

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *