【问题标题】:Wordpress - Get higher hierarchy postsWordpress - 获得更高层次的帖子
【发布时间】:2014-12-05 22:52:00
【问题描述】:

我正在尝试根据自定义帖子类型的更高层次帖子创建菜单。 问题是,我找不到使用 get_posts 函数过滤层次结构的方法。

这就是我目前所拥有的......

                  <?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

我只想从 get_posts 函数返回 Post 1 和 Post 2。有什么办法吗?

【问题讨论】:

  • “层次结构”是什么意思? WP Posts filters are the ones available here。你说的是“post_parent”吗?
  • 刚刚添加了一个例子
  • 我的问题是你如何处理这个层次结构。您是否使用“post_parent”关系?
  • 是的,我选择了 Post 1 作为 Post a's 和 Post b's parent

标签: php wordpress hierarchy


【解决方案1】:

如果您使用父子层次结构,您可以获得父帖子过滤帖子,其中“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

【讨论】:

  • 就是这样。谢谢保罗
猜你喜欢
  • 2012-12-09
  • 2017-08-23
  • 2012-05-31
  • 2018-08-08
  • 1970-01-01
  • 2020-02-17
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
相关资源
最近更新 更多