根据自定义分类术语显示帖子

Posted

技术标签:

【中文标题】根据自定义分类术语显示帖子【英文标题】:Display posts based on custom taxonomy terms 【发布时间】:2016-03-15 06:32:53 【问题描述】:

您好,我正在尝试根据其术语显示自定义分类的帖子。下面的代码一个接一个地返回我需要的只是一个特定术语。例如,我的自定义分类城市指南城市中有两个城市,可以说是巴黎和纽约。我只需要在巴黎下显示帖子。 我尝试在 wpq 数组中将 paris 作为术语 arg 传递,它仅显示 paris 帖子,但循环有效。意味着 paris 帖子显示在第一个 paris 下,然后显示在 newyork 下。我不希望 newyork 显示在那里,或者不希望在加载 paris 或 newyork 后循环运行。

<?php
$terms = get_terms('city-guide-cities');

foreach ($terms as $term) 
$wpq = array ('taxonomy'=>'city-guide-cities','term'=>$term->slug);
$myquery = new WP_Query ($wpq);
$article_count = $myquery->post_count;
echo "<h3 class=\"term-heading\" id=\"".$term->slug."\">";
echo $term->name;
echo "</h3>";
if ($article_count) 
echo "<ul>";
while ($myquery->have_posts()) : $myquery->the_post();
  echo "<li><a href=\"".get_permalink()."\">".$post->post_title."</a></li>";
endwhile;
echo "</ul>";


?>

【问题讨论】:

我的帖子类型是城市指南,分类是城市指南城市,术语是巴黎,我想要巴黎下的帖子 【参考方案1】:

见https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters。应该适合你。

$query = new WP_Query( 
array( 
    'post_type' => 'city-guide',
    'tax_query' => array(
        array(
            'taxonomy' => 'city-guide-cities',
            'field'    => 'slug',
            'terms'    => 'paris',
        ),
    )
 ) 
);

您还可以使用 AND 或 OR 将它们链接起来,以根据需要执行多个术语查询。

【讨论】:

所以我可以给出这个文件的命名规则 你可以把它放到single-city-guide.php中。见codex.wordpress.org/Post_Type_Templates。 taxonomy-city-guide-cities-paris.php 这样的东西? 我认为您不能仅在 php 文件名中指定该术语 - 除非您可以在我列出的文档中找到它。 等等,我可能错了。见developer.wordpress.org/themes/template-files-section/…。据此,taxonomy-city-guide-cities-paris.php 应该像你说的那样工作。

以上是关于根据自定义分类术语显示帖子的主要内容,如果未能解决你的问题,请参考以下文章

在 WordPress 上浏览自定义分类术语

Wordpress 获取不在自定义分类术语中的帖子

具有相同分类术语中的下一个和上一个帖子的自定义帖子类型

如何通过分类术语从自定义 WordPress MySQL 查询中排除结果

Wordpress 自定义帖子类型和自定义分类

无法获取自定义分类存档页面以显示帖子