我为函数添加了一个钩子.php使用 pre_get_posts
按帖子父级过滤搜索结果:
$query->set( 'post_parent', $_GET['post_parent'] );
这适用于明确设置了该帖子父 ID 值的帖子。但是,可以这么说,它并没有返回"子帖子的子帖子"。因此,例如,如果父 id 为 262,而 post 280 的帖子父项为 262,它将显示在搜索结果中。但是,帖子父级 ID 为 280 的帖子将不会显示,即使从技术上讲,它们包含在 262 帖子父级中。希望这是有道理的。
什么是返回帖子父级的所有子帖子,子帖子的子帖子,一直向下的正确方法?
任何帮助,不胜感激。
我不确定我是否正确理解了你的目标。但通常Wordpress提供get_post_ancestors()
,以检索帖子的所有父级到最高级别(262的孩子将列出262和280)。
所以你可以使用类似的东西
<?php
$parents = get_post_ancestors($_GET['post_parent']);
$query->set('post_parent__in', $parents);
?>