[英]WordPress custom page templates reads from subdirectory
我需要向導,因為我是新手。
因此,我在本地安裝了WordPress,並設法僅使用基本主題內容創建了自定義主題。
主題目錄: wp-content/themes/custom-theme/
在此目錄中,我希望創建子目錄( content/home
, content/blog
...),然后希望我的頁面從該子目錄中讀取,等等。
主頁將從帶有主目錄文件夾的custom-theme\\content\\home
讀取,其中包括home目錄文件夾,例如page.php
。
我已經設法創建了一個名為page-home.php
的模板文件,該文件已作為模板父頁面鏈接到我在wordpress中創建的新頁面。 我的問題是該目錄中的文件沒有被鈎住。
來自page-home.php
代碼
<?php
/*Template Name: Home - Parent Page */
?>
<?php get_header(); ?>
<div id="content-main">
<?php $contentSrc = "content/home"; ?>
<script>
window.contentSrc = '<?php echo $contentSrc; ?>';
</script>
<?php //get_template_part("page-home"); ?>
</div>
<?php get_footer(); ?>
這是我嘗試過的東西。 然后,它應該將頁面從子目錄content / home掛鈎。
來自以下content/home/page.php
代碼: content/home/page.php
<div id="home">
<div class="hook" data-hook="home-info"></div>
<div class="hook" data-hook="home-navi"></div>
</div>
這需要一個功能/ js來工作,但這僅僅是我需要什么和我想實現的想法。
對此准則或技巧的任何鏈接將不勝感激,我到處都看過,但根據我的問題我找不到任何簡單或確切的主題。
我很感興趣,也許這只是一種非常簡單的方法。
WordPress提供的工具之一是get_template_part();
但是,這要求您在調用此函數的頁面上確實使用Wordpress'循環。
包括主題的命名模板部分,或者如果指定了名稱,則將包括專用部分。 如果主題不包含{slug} .php文件,則不包含模板。
使用require而不是require_once來包含模板,因此您可以多次包含同一模板部分。
要將此功能與主題目錄中的子文件夾一起使用,只需在文件名之前添加文件夾名稱即可。 例如,如果您在主題目錄中有一個名為“ partials”的文件夾,而在該子文件夾中有一個名為“ content-page.php”的模板,則可以這樣使用get_template_part():
<?php get_template_part( 'partials/content', 'page' ); ?>
您還可以使用簡單的include()
/ require()
/ etc。 使用以下代碼:
<?php include( get_template_directory() . '/content/myfile.php'); ?>
此特定示例使用get_template_directory()
函數查找自定義主題路徑。 可以使用的替代方法(但仍然有用)是get_stylesheet_directory()
其他資源
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.