特定嵌套页面的 Wordpress 模板

Wordpress template for specific nested page

在 Wordpress 中,我有一个带有 slug logged-user 的页面和一个父页面 ecadmin,使其可以在 URL /ecadmin/logged-user/.

下访问

因为它有父页面,我(或任何其他用户)可以创建具有相同 slug 的页面 logged-user 只要它不嵌套在同一父页面下。

现在的问题是我无法在主题文件夹中创建单个页面模板 page-logged-user.php,因为此模板可以潜在地应用于名为 logged user 的任何其他页面,无论它在层次上属于何处。

有没有办法以引用其父页面的方式命名模板文件?例如。 page-ecadmin-logged-user.php

您可以尝试使用 page-$id.php,这对那个页面来说是唯一的。

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

您可以创建自定义页面模板 [whatever-you-want].php 并将此评论放在 header

/*
Template Name: Logged In User
*/

该模板将在 Wordpress 中任何 "Page" 的页面属性元框中可用,但只有在该元框中选择后才会应用于给定页面。

注:

默认情况下,所有内容创建者都可以访问页面属性元框。 如果您担心用户不恰当地应用该模板,您可以对非管理员的所有人隐藏页面属性元框:

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/