2014-12-05 27 views
0

我試圖創建一個菜單基於自定義帖子類型的更高層次的帖子。 問題是,我找不到用get_posts函數過濾層次結構的方法。WordPress的 - 獲取更高層次的帖子

這是我迄今爲止...

    <?php 
        $args = array(
         'orderby'   => 'post_date', 
         'order'   => 'DESC', 
         'post_type'  => 'pb_progproy', 
         'post_status'  => 'publish', 
         'suppress_filters' => true 
        ); 
        $posts = get_posts($args); 
        foreach($posts as $post){ 
        ?> 
        <li> 
         <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 
        </li> 
        <?php } ?> 

我知道這會給我的所有帖子,無論它的層次結構。我需要的僅僅是具有更高等級的那些。

任何想法?


讓我們算出這個崗位結構..

Post 1 
    Post A 
    Post B 
Post 2 

我只是想發表1和2後從get_posts函數返回。有沒有辦法?

+0

你是什麼意思與'等級'? [WP帖子過濾器是這裏可用的](http://codex.wordpress.org/Template_Tags/get_posts#Default_Usage)。你在說「post_parent」嗎? – PauloASilva 2014-12-05 23:12:06

+0

剛剛添加了一個例子 – Pablo 2014-12-05 23:18:38

+0

我的問題是你如何處理這個層次結構。你在使用「post_parent」關係嗎? – PauloASilva 2014-12-05 23:22:10

回答

0

如果您使用的是父子層次結構,你可以得到父母的帖子過濾帖子,其中「post_parent = 0」

<?php 
$args = array(
    'orderby'   => 'post_date', 
    'order'   => 'DESC', 
    'post_type'  => 'pb_progproy', 
    'post_parent'  => 0 
    'post_status'  => 'publish', 
    'suppress_filters' => true 
); 

$posts = get_posts($args); 

您可以閱讀more about post filters here

+0

就是這樣。感謝Paulo – Pablo 2014-12-05 23:29:12