我试图列出自定义帖子类型的帖子'文章'在帖子类别与页面标题匹配的几个页面上。所以在产品页面上会列出所有带有类别产品的文章,评论页面会列出所有带有类别评论的文章,等等。
当我使用category_name时,不会返回任何帖子,并且在没有它的情况下返回所有帖子。
<?php
// Get articles that have a category that matches the page title (ie: On pagination page get articles with pagination category)
$pageTitle = get_the_title();
$postType = 'article';
$args= array(
'post_type' => $postType,
'post_status' => 'publish',
'category_name' => $pageTitle
);
$articles = new WP_Query($args);
if( $articles->have_posts() ) {
while ($articles->have_posts()) : $articles->the_post(); ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<p class="tags"><?php the_category()?></p>
<?php
endwhile;
}
wp_reset_query(); // Restore global post data stomped by the_post().
?>
答案 0 :(得分:0)
&#39; category_name&#39;参数要求您使用类别slug,而不是名称。您可以从名称中获取类别ID ...
$catID = get_cat_ID( $pageTitle );
...然后使用“猫”#39;查询中的参数。
'cat' => $catID,