如何在WordPress中显示特定的子页面模板

时间:2019-01-17 作者:Daniel Omara

我正在尝试显示某个特定父页面的子页面模板。

<?php 
    if(has_children()){ 
        // This is a parent page 
        get_template_part(\'content\', \'parent\'); 
    }elseif(is_page() && $post->post_parent ){ 
        // This is a child page of certain parent page
        get_template_part(\'content\', \'child\');

        //*THIS PART BELOW HAS REFUSED TO WORK FOR THE CHILD PAGE OF PARENT PAGE ID 689
    }elseif(is_child_of(689)){ 
        // This is a child page of Parent page having id 689  
        get_template_part(\'content\', \'park\');
    }else{
        //This is default for anyother page
        get_template_part(\'content\', \'default\'); 
    } 
?> 
上面的代码在尝试获取父页(689)的子页时,仍然呈现或显示get_template_part(\'content\', \'child\'); 而不是get_template_part(\'content\', \'park\');这是我想要的。

1 个回复
最合适的回答,由SO网友:RiddleMeThis 整理而成

试试这个。。。您的代码正在命中elseif(is_page() && $post->post_parent ) 然后停在那里。

<?php 
    if(has_children()){ 
        // This is a parent page 
        get_template_part(\'content\', \'parent\'); 
    }elseif(is_page() && $post->post_parent ){ 
        // This is a child page of certain parent page
        if(is_child_of(689)){
            // This is a child page of Parent page having id 689  
            get_template_part(\'content\', \'park\');
        }else{
            get_template_part(\'content\', \'child\');
        }
    }else{
        //This is default for anyother page
        get_template_part(\'content\', \'default\'); 
    } 
?> 

相关推荐

Updating modified templates

我想调整一些。php模板文件在我的WordPress主题中,我知道正确的过程是将相关文件复制到子主题文件夹中并在那里编辑文件,这样我的修改就不会在将来的主题更新中丢失。但这是否意味着我将无法从主题更新中获益,因为我将文件放在了我的子主题文件夹中?这可能不是一件好事,因为主题更新可能添加了一些有用的特性,甚至修复了我最初需要对代码进行调整的问题!这方面的常见解决方案是什么?有人推荐了一款Diff应用程序——这是人们常用的吗?