查询没有为任何父帖子ID返回子帖子

时间:2017-03-08 作者:GrabBag-Charles

我有一个自定义的帖子模板,我想在上面显示此帖子父级的其他子级的列表。我已经在变量($parent\\u artist\\u ID)中有了父帖子ID,该变量正在页面的其他地方使用。这是我的代码:

    $pastshowargs = array(
      \'post_parent\' => $parent_artist_id,
      \'post_type\' => \'shows\',
      \'numberposts\' => -1,
      \'order\' => \'ASC\',
      \'orderby\' => \'title\'
    );

    $child_posts = get_posts($pastshowargs);
    if ( !empty($child_posts) ) {
      echo "<ul>";
      foreach ($child_posts as $child_post) {
        $showname = get_the_title($child_post->ID);
        $parentartistid = wpcf_pr_post_get_belongs($child_post->ID, \'artist\');
        echo "<li>" . $showname . " (". $parentartistid . ")</li>";
      }
    echo "</ul>";
    } else { echo "empty"; }
问题是,如果我为“post\\u parent”提供一个ID,这将不会产生任何结果。如果我手动将ID设置为“0”或完全删除该参数,我会得到所有“shows”帖子的列表,但在post_parent参数中输入任何数字都不会得到任何结果。

知道我做错了什么吗?

2 个回复
SO网友:GrabBag-Charles

问题似乎在于,对于父/子关系,我使用的是Toolset Types插件,它将关系存储为字段,而不是Wordpress通常的想法。这意味着当Wordpress查看帖子ID时,它不会看到插件所显示的子关系。

为了解决这个问题,我使用了这个参数而不是“parent\\u post”参数:

\'meta_query\' => array(array(\'key\' => \'_wpcf_belongs_artist_id\', \'value\' => $parent_artist_id ) )
这将在类型插件用于查找帖子ID的字段中进行搜索。

SO网友:Joel Stransky

您应该使用wp_list_pages() 查询分层职位类型时。它更倾向于父母/子女关系。它使用get_pages() 如果你想知道它是从哪里得到数据的。

相关推荐

如何读取WordPress$Query关联数组(散列)键的值

WordPress编程新手(来自更为传统的环境),并试图了解其一些“独特”特性。我们的网站上有一个目录页,此代码驻留在functions.php, 如果条件为true,则调整结果。if( $query->is_post_type_archive( \'directory\' ) ){ ...//do stuff } 我想知道如何获取is_post_type_archive 这就是“目录”当我对值使用测试时。。。var_dumb($query->is_post