【问题标题】: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>";
}
}
?>

【问题讨论】:

  • 我的帖子类型是城市指南,分类是城市指南城市,术语是巴黎,我想要巴黎下的帖子

标签: wordpress archive custom-taxonomy


【解决方案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 应该像你说的那样工作。
猜你喜欢
  • 2016-06-13
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多