我正在开发一个使用自定义帖子类型和自定义分类法的“目录”插件。我现在想要的是将自定义分类显示为单个页面。这意味着,如果需要分类术语“热门项目”,我希望查询该类别的所有帖子,呈现并缓冲我自己的模板(phtml),包括作为表的属于该分类术语的所有帖子。应使用主题中的默认单模板文件呈现此缓冲表。因此,在一个页面上没有任何分页或多个帖子。
我试图自定义WP\\u查询并在pre\\u get\\u posts操作中生成一个新的查询,但没有得到用我自己的内容模拟单个post查询的结果。
add_action("pre_get_posts", array( $this, \'check_for_iccat\' ) );
...
public function check_for_iccat( $query ) {
if( is_tax( \'iccat\' ) ) {
$termId = get_queried_object()->term_id;
echo "<pre>"; print_r ($query); echo "</pre>";
exit(); // debug view
}
}
另一个想法是创建第二个post类型,注入呈现的类别缓冲区并显示为页面。
有什么建议吗?
Update: 实现这一点的另一种方法是将渲染的类别输出保存到数据库中,并提供类似[类别=流行]的短标记。此标记可以在普通页面或帖子中使用。在呈现帖子/页面之前,我可以将其替换为预呈现和缓存的内容。这是唯一的解决方案吗?我正在寻找一种更自动化的解决方案。
提前感谢!
最合适的回答,由SO网友:Rubberducker 整理而成
考虑到这些评论,我又浪费了几个小时寻找解决方案,我得出结论,我必须重新审视我的插件设计。有两种有希望的方法:
使用模板文件并提供回退提供一个“短标签”生成器,让用户为每个需要的类别创建一个帖子/页面感谢您的参与和帮助:)