2017-04-05 181 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