首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

WordPress 主題製作:get_template_part() 靈活引入任意模板片段

     編輯:PHP 相關知識

函數簽名

get_template_part( $slug, $name = null );
  • $slug(必填):模板文件名(不含 .php),可含子目錄,如 'part/loop' 對應 part/loop.php。
  • $name(可選):副文件名,最終載入 {$slug}-{$name}.php。如 get_template_part('loop', 'product') → loop-product.php。
  • 無返回值,直接輸出。找不到文件時靜默失敗(不報錯)。

使用示例

<?php get_template_part('content'); ?>           <!-- content.php -->
<?php get_template_part('part/loop'); ?>         <!-- part/loop.php -->
<?php get_template_part('content', 'page'); ?>  <!-- content-page.php -->
<?php get_template_part('content', get_post_format()); ?> <!-- 根據文章格式載入 content-video.php 等 -->

典型應用場景

  1. 循環內容復用:index.php、archive.php、search.php 均調用 get_template_part('content', get_post_format()),按文章格式渲染不同佈局。
  2. 區塊化佈局:將側邊欄、導航、廣告位等拆分為 sidebar.php、nav-top.php,靈活組合。
  3. 子主題覆蓋:子主題同名文件優先載入,實現零修改父主題的定制化。

對比:get_template_part vs include/require

特性get_template_partinclude/require
子主題覆蓋自動支持需手動判斷 locate_template()
文件不存在靜默忽略報警告/致命錯誤
命名約定{slug}-{name}.php任意
變量作用域繼承調用處作用域同

**結論**:主題開發**首選** get_template_part(),符合 WP 模板層級機制,利於維護與擴展。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved