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 在同一路徑上找到一個模板時,它總是會從子主題中選擇一個模板。