我正在使用WordPress为我支持的软件产品组织文档,但遇到了一些问题。我有多个FAQ文档(另存为页面),这些文档需要单独的页面,但我希望能够将它们聚合到一个FAQ主列表中。
为此,我安装了“Ninja页面类别和标签”插件,以便在每个单独的页面上标记“faq”。然后我想做的是查询带有该标记的所有页面,然后根据FAQ的功能将它们聚合到3个列表中:常规、讲师或学生。每个结果将根据单个页面的祖先进行排序。
这是我开发的代码:
$instructors = array();
$student = array();
$general = array();
$postsByTag = get_posts(\'tag=faq&post_type=page&numberposts=0\');
foreach($postsByTag as $post) {
setup_postdata($post);
$title = $post->post_title;
$title = str_replace("FAQ: ", "", $title);
$id = $post->ID;
$ancestors = get_post_ancestors($post);
if($post->ancestors && in_array( \'386\', $post->ancestors)) {
$instructors[] = "<li><a href=\'". get_permalink()."\'>$title</a></li>";
} else if(in_array( \'384\', $post->ancestors)) {
$students[] ="<li><a href=\'". get_permalink()."\'>$title</a></li>";
} else {
$general[] = "<li><a href=\'". get_permalink()."\'>$title</a></li>";
}
}
该代码返回所有标记为“faq”的页面,但它将所有内容排序为“常规”类别,因为get\\u post\\u祖先似乎返回空,尽管我知道情况并非如此。
我做错了什么?有人能帮我吗?谢谢