我正在尝试从类别id中找出帖子类型。
假设,当我打开一个分类页面时
localhost/project/foobaar/category/pen
我想知道类别笔所属的帖子类型。我有两个名为“book”和“copy”的自定义帖子类型,如果类别笔与book关联,那么它应该将帖子类型返回为“book”,如果类别是pencil,那么它应该返回“copy”,因为我在“copy”帖子中使用了pencil类别。
我尝试这样做(我将类别id存储在变量中,但假设pen的类别id为12)
$args = array (
posts_per_page => 1,
category => \'12\' // category id of pen
);
$posts = WP_Query( $args );
从$posts我可以得到一篇我可以知道的帖子,但是$args使用默认的post\\u类型作为“posts”,我的帖子可以是任何东西。
谢谢
最合适的回答,由SO网友:TheDeadMedic 整理而成
您只需从主查询中获取第一篇帖子,然后查看它是哪种帖子类型:
if ( have_posts() ) {
$post_type = $wp_query->posts[0]->post_type;
}
如果您直接在主模板文件中运行此代码,应该可以,但如果它在函数中,则需要调用
global $wp_query;
第一