3)模板覆盖
子主题的最常见用法是覆盖模板部件。例如,侧边栏,如果我们有一个主题,其中包含以下文件
/themes/template/sidebar.php
<?php
/**
* The sidebar containing the main widget area.
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*/
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
return;
}?>
<div id="sidebar" class="widget-area">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div>
我们绝对可以使用以下文件在子主题中添加我们自己的文件(使用第一个示例中的规范)
/themes/child-theme/sidebar.php
<?php
/**
* The sidebar containing the main widget area.
*/
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
return;
}?>
<div id="my-sidebar" class="my-own-awesome-class widget-area">
<div class="my-wrapper">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div>
</div>
现在 my-own-awesome-class
在子主题中是安全的,并且在任何主题更新时都不会被删除,并且当 WordPress 在同一路径上找到一个模板时,它总是会从子主题中选择一个模板。