簡體   English   中英

WordPress自定義頁面模板從子目錄讀取

[英]WordPress custom page templates reads from subdirectory

我需要向導,因為我是新手。

因此,我在本地安裝了WordPress,並設法僅使用基本主題內容創建了自定義主題。

主題目錄: wp-content/themes/custom-theme/

在此目錄中,我希望創建子目錄( content/homecontent/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' ); ?>

使用PHP

您還可以使用簡單的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM