过滤搜索结果中的后父ID中的所有Wordpress子帖

时间:2013-10-29 14:07:35

标签: php wordpress search

我使用pre_get_posts为functions.php添加了一个钩子,以便通过后期父级过滤搜索结果:

 $query->set( 'post_parent', $_GET['post_parent'] );

这适用于明确具有该父级id值设置的帖子。但是,它并没有返回“儿童职位的子职位”,可以这么说。因此,例如,如果父ID为262,而帖子280的后父级为262,则它将显示在搜索结果中。但是,即使在技术上它们包含在262后父母中,也不会显示帖子父ID为280的帖子。希望这是有道理的。

返回所有子女职位,子职位子女职位的正确方法是什么?

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确理解了你的目标。但通常Wordpress提供get_post_ancestors()来检索帖子的所有父母到最高级别(262个孩子将列出262和280)。

所以你可以使用像

这样的东西
<?php
    $parents = get_post_ancestors($_GET['post_parent']);
    $query->set('post_parent__in', $parents);
?>