特定嵌套页面的Wordpress模板

特定嵌套页面的Wordpress模板,wordpress,filenames,hierarchical,Wordpress,Filenames,Hierarchical,在Wordpress中,我有一个包含sluglogged user的页面,还有一个父页面ecadmin,可以通过URL/ecadmin/logged user/访问该页面 由于它有一个父页面,我(或任何其他用户)可以使用相同的sluglogged user创建一个页面,只要它不嵌套在同一个父页面下 现在的问题是,我无法在theme的文件夹中创建单个页面模板page logged user.php,因为此模板可能会应用于名为logged user的任何其他页面,无论它属于哪个层次 是否有一种方法可

在Wordpress中,我有一个包含slug
logged user
的页面,还有一个父页面
ecadmin
,可以通过URL
/ecadmin/logged user/
访问该页面

由于它有一个父页面,我(或任何其他用户)可以使用相同的slug
logged user
创建一个页面,只要它不嵌套在同一个父页面下

现在的问题是,我无法在theme的文件夹中创建单个页面模板
page logged user.php
,因为此模板可能会应用于名为
logged user
的任何其他页面,无论它属于哪个层次


是否有一种方法可以以引用其父页面的方式命名模板文件?例如,
page ecadmin logged user.php

您可以尝试使用该页面特有的page-$id.php。

您可以尝试使用该页面特有的page-$id.php。

您所希望的功能不存在,但有一种非常简单的方法来完成您想要做的事情:

您可以创建一个自定义页面模板[which You want].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' );

您希望的功能不存在,但有一种非常简单的方法可以实现您的目标:

您可以创建一个自定义页面模板[which You want].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' );

感谢您的回复,我已经想到了这一点,但我正在开发环境中工作,当我在生产中部署ids时,它们是不同的。这是一种痛苦。我能马上想到的唯一其他解决方案是在page-logged-user.php文件中编写一些条件代码。如果post_parent slug==ecadmin,则输出登录代码,否则只显示常规页面代码;我建议尽量避免@克里萨纳西亚迪斯有一个完美的例子来说明为什么这是不好的。此外,如果你删除并重新制作页面,则很难重新应用相同的ID。你要么最终进入数据库,要么更改主题文件,这并不理想。感谢你的回复,我已经想到了这一点,但我正在开发环境中工作,在生产中部署ID时,情况也不一样。这是一个痛苦的问题。我能马上想到的唯一其他解决方案是在page-logged-user.php文件中编写一些条件代码。如果post_parent slug==ecadmin,则输出登录代码,否则只显示常规页面代码;我建议尽量避免@克里萨纳西亚迪斯有一个完美的例子来说明为什么这是不好的。此外,如果删除并重新制作页面,则很难重新应用相同的ID。您要么最终进入数据库,要么更改主题文件,这并不理想。