【问题标题】:How can I use WP_Query to display selected Category posts from the custom post?如何使用 WP_Query 从自定义帖子中显示选定的类别帖子?
【发布时间】:2016-02-15 10:51:07
【问题描述】:

我正在使用自定义帖子类型插件,并且我正在尝试仅循环选择自定义帖子中特定类别的帖子。我想只循环选定的类别。有什么建议吗?

这是我的代码:

<?php
$loop=new WP_Query(array(
    'post_type'=>'custom post';
    'taxonomy '->'private';
    'sort_column' => 'post_date',
    'posts_per_page'=> -1 ,
    'order' => 'ASC')
); 
if ( $loop->have_posts() ){?>

    <?php 
    while ( $loop->have_posts() ) 
    {
        $loop->the_post();
        $meta=get_post_meta(get_the_id(),'');

?>

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    在wp_query中使用wordpress的税务查询

    $args = array(
        'post_type'=>'custom post';
        'posts_per_page'=> -1 ,
        'order' => 'ASC'
        'orderby' => 'ID'
    
        'tax_query' => array(
            array(
                'taxonomy' => 'private',
                'field'    => 'slug',
                'terms'    => 'bob',
            ),
        ),
    );
    $query = new WP_Query( $args );
    

    并将'terms' =&gt; 'bob', 替换为'terms' =&gt; '&lt;your category slug&gt;', Slug 可以从后端检查

    【讨论】:

      【解决方案2】:

      根据wp_query docs

      $loop=new WP_Query(array(
          'post_type' => 'custom post',
          'taxonomy' =>'private',
          'sort_column' => 'post_date',
          'posts_per_page'=> -1,
          'order' => 'ASC',
          'cat' => 19
      )
      ); 
      

      【讨论】:

      • 您好 Prakash & Gal 感谢您的建议,@prakash 关于您的建议,我仍在努力进行修复,但仍然找不到我的解决方案。关于 gal ,我没有收到帖子没有错误,只是当我添加 category_in 时帖子没有显示。我正在尝试:' 'journeypackage', 'taxonomy '=>'journy_category', 'sort_column' => 'post_date', 'posts_per_page'=> - 1 , 'order' => 'ASC', 'category__in' => array(19) ) ); '
      • @lisageni 我编辑了我的答案,因此它还会显示一个子类别,让我知道它是否有效
      • @lisageni 您的数组中几乎没有问题,例如 ; 而不是 ,-&gt; 而不是 =&gt; 在文档中也没有看到参数 taxonomy(在至少不是您使用它的方式)它代表什么?显示登录用户?如果是这样,您可能想改用 post_status 参数。
      • 是的,我已经解决了这些问题,但问题是我的自定义帖子工作正常,当我尝试添加这个 'category__in' => 19 突然自定义帖子中没有帖子没有出现。
      • @lisageni 看看我编辑的帖子,正如我之前提到的 category__in 不显示可能是您的情况的子类别。(切换到 cat 参数)
      【解决方案3】:

      像这样使用它:

      <?php
      $loop=new WP_Query(array(
          'post_type'=>'custom post';
          'posts_per_page'=> -1 ,
          'order' => 'ASC',
          'orderby' => 'ID',
      
          'tax_query' => array(
              array(
                  'taxonomy' => 'private',
                  'field'    => 'slug',
                  'terms'    => 'bob'
              ),
          ),
      );
      ); 
      if ( $loop->have_posts() ){?>
      
          <?php 
          while ( $loop->have_posts() ) 
          {
              $loop->the_post();
              $meta=get_post_meta(get_the_id(),'');
      
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-11
        • 2012-07-31
        • 1970-01-01
        相关资源
        最近更新 更多