将自定义分类查询呈现为单个模板

时间:2015-01-27 作者:Rubberducker

我正在开发一个使用自定义帖子类型和自定义分类法的“目录”插件。我现在想要的是将自定义分类显示为单个页面。这意味着,如果需要分类术语“热门项目”,我希望查询该类别的所有帖子,呈现并缓冲我自己的模板(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: 实现这一点的另一种方法是将渲染的类别输出保存到数据库中,并提供类似[类别=流行]的短标记。此标记可以在普通页面或帖子中使用。在呈现帖子/页面之前,我可以将其替换为预呈现和缓存的内容。这是唯一的解决方案吗?我正在寻找一种更自动化的解决方案。

提前感谢!

1 个回复
最合适的回答,由SO网友:Rubberducker 整理而成

考虑到这些评论,我又浪费了几个小时寻找解决方案,我得出结论,我必须重新审视我的插件设计。有两种有希望的方法:

使用模板文件并提供回退

结束

相关推荐