特定嵌套页面的Wordpress模板
在Wordpress中,我有一个包含slug特定嵌套页面的Wordpress模板,wordpress,filenames,hierarchical,Wordpress,Filenames,Hierarchical,在Wordpress中,我有一个包含sluglogged user的页面,还有一个父页面ecadmin,可以通过URL/ecadmin/logged user/访问该页面 由于它有一个父页面,我(或任何其他用户)可以使用相同的sluglogged user创建一个页面,只要它不嵌套在同一个父页面下 现在的问题是,我无法在theme的文件夹中创建单个页面模板page logged user.php,因为此模板可能会应用于名为logged user的任何其他页面,无论它属于哪个层次 是否有一种方法可
logged user
的页面,还有一个父页面ecadmin
,可以通过URL/ecadmin/logged user/
访问该页面
由于它有一个父页面,我(或任何其他用户)可以使用相同的sluglogged 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。您要么最终进入数据库,要么更改主题文件,这并不理想。