2017-04-05 147 views
1

在Wordpress中,我有一個頁面,其中有一個頁面logged-user和一個父頁面ecadmin,使其可以在URL /ecadmin/logged-user/下訪問。特定嵌套頁面的WordPress模板

由於它有一個父頁面,我(或任何其他用戶)可以創建一個頁面,只要它不嵌套在相同的父頁面下,就可以使用相同的段落logged-user

現在的問題是,我無法在主題文件夾中創建單個頁面模板page-logged-user.php,因爲此模板可能潛在地應用於任何其他名爲logged user的頁面,無論它屬於何種層次。

有沒有辦法以這種引用其父頁的方式來命名模板文件?例如。 page-ecadmin-logged-user.php

回答

1

你希望爲不存在,但有一個非常簡單的方式來完成你想要做什麼樣的特點:

您可以創建一個自定義的頁面模板[任何你想要] .PHP並將此評論的標題

/* 
Template Name: Logged In User 
*/ 

該模板將在頁面可用的屬性元框在任何WordPress的「頁面」,但如果在元框中選擇將只適用於特定網頁。

注:

所有內容創建者可以訪問頁默認屬性元框。 如果你擔心應用該模板不適當你可以隱藏的頁面屬性從大家元包誰是不是管理員用戶:

function remove_post_custom_fields() { 

    if (!current_user_can('create_users')){ 
     remove_meta_box('pageparentdiv' , 'post' , 'normal'); 
    } 
} 
add_action('admin_menu' , 'remove_post_custom_fields'); 

http://www.wpbeginner.com/wp-themes/how-to-create-a-custom-page-in-wordpress/

0

你可以嘗試使用使用page- $ id.php,這對於那個頁面是唯一的。

+0

感謝您的回覆,我已經想到這一點,但我正在開發環境中工作,並且在部署時,ID在生產中從未如此。 –

+0

這是一個痛苦的情況。我唯一能想到的另一個解決方案是在你的page-logged-user.php文件中寫入一些條件代碼。如果post_parent slug === ecadmin則輸出登錄代碼,否則只顯示常規頁面代碼。 – Paul