Query Custom Post by Category

时间:2017-10-17 作者:bdobry

我尝试查询名为news 由一个名为Alumni 具有ID=160.

当我使用这样的参数时,结果是,我得到了所有自定义帖子without Alumni 类别:

$args = array(
  \'posts_per_page\' => -1,
  \'post_type\' => \'news\',
  \'orderby\' => \'date\',
  \'order\' => \'DESC\',
  \'category__not_in\' => 160
);
$loop = new WP_Query( $args );

<?php while ( $loop->have_posts() ) : $loop->the_post();?>
...
<?php endwhile; ?>
然而,改变category__not_incategory__in 给出了一个空列表,但我希望得到与初始结果相反的结果。我真的不明白我在哪里犯了错误。

此外,我尝试使用catcategory_name 相反,我尝试了不同的类别,但结果总是一样的。

在我的研究中\'tax_query\' 但我不能让它也起作用。文件对我来说不太清楚。

3 个回复
SO网友:rudtek

这些是自定义分类法还是常规分类法?

如果它们只是类别,则应使用:

$args = array(
  \'posts_per_page\' => -1,
  \'post_type\' => \'news\',
  \'orderby\' => \'date\',
  \'order\' => \'DESC\',
  \'category_name\' => \'Alumni\'
);
$loop = new WP_Query( $args );

<?php while ( $loop->have_posts() ) : $loop->the_post();?>
...
<?php endwhile; ?>
如果您想按id使用它

使用:

\'cat\' => 160 
而不是

\'category_name\' => \'Alumni\'

SO网友:Randomer11

您是否尝试过在数组中使用类似的东西,之前遇到过类似的问题,这就解决了。

\'taxonomy\' => \'your_taxonomy_name\',
或类似于:

    \'tax_query\' => array(
        \'taxonomy\' => \'your_taxonomy_name\',
        \'terms\' => \'Alumni\',
        \'field\' => \'slug\',
        \'include_children\' => true,
),

SO网友:HeroWeb512

要获取具有特定类别的自定义帖子类型,请使用自定义分类法注册自定义帖子类型类类别的分类法名称,然后在添加新帖子时为每个帖子分配一个类别。下面是代码的示例

  add_action( \'init\', \'news_my_taxonomy\');
  function news_my_taxonomy(){
 // custom post type taxonomies
    $labels = array(
    \'name\' => \'Categories\',
    \'singular_name\' => \'Category\',
    \'add_new\' => \'Add Category\',
    \'add_new_item\' => \'Add New Category\',
    \'all_items\' => \'All Categories\',
    \'edit_item\' => \'Edit Item\',
    \'new_item\' => \'New Item\',
    \'view_item\' => \'View Item\',
    \'update_item\' => \'Update Category\',
    \'search_items\' => \'Search Categories\',
    \'not_found\' => \'No record found\',
    \'not_found_in_trash\' => \'No items found in trash\',
    \'parent_item_colon\' => \'Parent Item\',
    \'menu_name\' => \'Categories\'
    );
    $args = array(
        \'labels\' => $labels,
        \'hierarchical\' => true,
        \'has_archive\' => true,
        \'rewrite\' => array(\'slug\' => \'news_category\'),
        \'show_ui\' => true,
        \'show_admin_column\' => true,
        \'query_var\' => true,
        );
        register_taxonomy(\'news_category\', array(\'news\'), $args);
}
然后创建分类模板页面“taxonomy-news\\u类别”。php“

并添加查询以获取具有此类别名称的帖子

   $cat_name = single_cat_title;
   $args = array( \'category_name\' => $cat_name, \'posts_per_page\' => 12, \'order\'=> \'ASC\', \'post_type\' => \'news\', \'paged\' => $paged);
所有的工作都完成了。祝你好运

结束

相关推荐

Why does it loop twice?

我有这个循环,我不知道为什么,我有一个“加载更多”按钮,当我点击它时,它会再次加载所有文章。有人能帮忙吗?<div class=\"content\"> <div class=\"container load_more\"> <div class=\"row\"> <?php $args = array(\'category_name\' => \'actu, quizz\' );