我有以下CPT:
array(
'slug' => 'articles',
'single_name' => 'Article',
'plural_name' => 'Articles',
'menu_name' => 'Articles',
'description' => '',
'dashicon' => 'dashicons-media-default'
),
以及以下CPT条款下显示的以下自定义分类法:
array(
'slug' => 'author',
'single_name' => 'Author',
'plural_name' => 'Authors',
'menu_name' => '→ Authors',
// This is where you sync the taxonomy to the post types above
'post_type' => ['articles', 'news']
),
现在,我正在尝试创建一个single-articles.php,在其中查询单个文章,以包括所有自定义分类信息。
我尝试了以下所有变化:
$args = array(
'post_type' => 'articles',
'tax_query' => array(
array(
'taxonomy' => 'author',
'field' => 'slug'
),
),
);
我对PHP和WP相对较新,并且不确定100%如何获取数据。在Javascript中,您将获得一个可以穿越的对象。添加print_r($my_query)
时,我找不到想要的东西。在文档的前面,我已经启动了循环:
if (have_posts()) :
while (have_posts()) : the_post()
但是我不知道为什么php / wp不能显示对象中包含的所有数据。理想情况下,我只想查询单篇文章并获取所有数据,以包含有关所有附加分类法的信息。我不想要按分类法查询文章,所以我有两个问题:
1)如何正确查询此结果以返回结果? 2)如何在前端显示此数据?
编辑:tax_query
为真时,According to this is_singular()
被忽略。 print_r( is_singular() )
的结果为1
(又是真的吗?!),这会有所作为吗?
我还为分类法附加了自定义帖子类型。我也需要检索此信息。
答案 0 :(得分:0)
您的分类标准标记为author
,而不是authors
$args = array(
'post_type' => 'articles',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'author',
'field' => 'slug',
'terms' => 'your-term-here',
),
),
);
您可以将single- {posttype} .php用于单个模板。
而且,如果您将has_archive参数设置为true来注册帖子类型,则可以将archive- {posttype} .php用于存档模板。
您可以选中Template Hierarchy