是否使用函数定位自定义帖子类型的子页面?

时间:2018-02-02 作者:jbwharris

我从CSS Tricks 这是为了使我能够有条件地针对父级的子页面。在我将我的内容更改为自定义帖子类型之前,它工作得很好。现在代码不再工作了,因为它是专门针对页面的。

    function is_tree($pid) { // $pid = The ID of the page we\'re looking for pages underneath
        global $post; // load details about this page
        if(is_page()&&($post->post_parent==$pid||is_page($pid))) 
          return true; // we\'re at the page or at a sub page
        else 
          return false; // we\'re elsewhere
    };
我修改了它,现在使用is\\u singular(\'post\\u type\')。问题是,它似乎总是满足第一个条件,而从不满足第二个条件。我似乎不明白为什么它不起作用。

    function is_tree($pid) {  
        global $post; 
        if(is_singular(\'guides\' )&&($post->post_parent==$pid||is_singular( \'guides\', $pid ))) 
          return true;   
        else 
          return false;  
    };
你知道这里会出什么问题吗?

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

is_singular 仅接受一个参数-post类型。它仅用于检查某个帖子是否属于某种类型,而不是该类型的特定帖子。检查$post->ID 相反-

if(is_singular(\'guides\' )&&($post->post_parent==$pid||$post->ID==$pid))
我也会考虑使用get_queried_object() 和/或get_queried_object_id() 而不是使用全局$post.

结束

相关推荐