显示类别等于页面标题的帖子类型

时间:2015-04-01 14:51:06

标签: wordpress

我试图列出自定义帖子类型的帖子'文章'在帖子类别与页面标题匹配的几个页面上。所以在产品页面上会列出所有带有类别产品的文章,评论页面会列出所有带有类别评论的文章,​​等等。

当我使用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().
    ?>                  

1 个答案:

答案 0 :(得分:0)

&#39; category_name&#39;参数要求您使用类别slug,而不是名称。您可以从名称中获取类别ID ...

$catID = get_cat_ID( $pageTitle );

...然后使用“猫”#39;查询中的参数。

'cat' => $catID,