孩子的允许的模板 - wordpress

时间:2017-08-28 12:50:10

标签: wordpress

有没有办法添加/更改页面子项的允许模板?当我为特定页面创建子项时,我想设置要使用的模板。我使用Processwire CMS时有这个选项:

  

选择使用此模板允许页面子项的模板。仅当您特别希望使用此模板限制页面放置时才使用此选项。如果未选择任何一个,则允许在用户的访问限制内。示例用法可以是“新闻列表”模板,只允许孩子使用“新闻项目”或“新闻发布”模板。

1 个答案:

答案 0 :(得分:1)

之前我遇到过这个问题,我使用自定义函数来确定页面的级别,然后使用以下内容包含一个文件:

 get_post_ancestors();

该功能(添加到functions.php)

function hierarchy_level($post){
    if(count(get_post_ancestors($post)) === 0){
        return 'parent';
    }elseif(count(get_post_ancestors($post)) === 1){
        return 'child';
    }
    elseif(count(get_post_ancestors($post)) === 2){
        return 'grandchild';
    }else{
        return false;
    }
}

在页面模板中使用:

$page_level = hierarchy_level($post);

switch ($page_level){
    case 'parent':
        include('template-parts/parent.php');
        break;
    case 'child':
        include('template-parts/child.php');
        break;
    case 'grandchild':
        include('template-parts/grandchild.php');
        break;
}