php - WordPress 显示按自定义分类过滤的 CPT

标签 php mysql wordpress

我正在显示自定义帖子类型的所有帖子,但我想按分类顺序显示它们。

我希望它看起来像这样:

第 1 期:

  • post x
  • post y

第 2 期:

  • post z

Term 3:

  • post n

我的计划是为每个分类法分别创建 3 个 wp_queries,因为我有 3 个,但我在设置查询时遇到了一些麻烦。

这就是我的查询:

$posts = new WP_Query(array(
        'post_type' => 'job',
        'tax_query' => array(
                    array(
                        'taxonomy' => 'taxonomy',
                        'field' => 'slug',
                        'terms' => 'slug',
                    ),
        ),
        'posts_per_page' => 10
    ));

进行 3 次查询似乎有点愚蠢,有没有更好的方法可以使用 1 次查询来做到这一点?

最佳答案

You can do by this way also.

 <?php

     $cat = get_terms('category'); // you can put your custom taxonomy name as place of category.
        foreach ($cat as $catVal) {
            echo '<h2>'.$catVal->name.'</h2>';
            $postArg = array('post_type'=>'post','posts_per_page'=>-1,'order'=>'desc',
                              'tax_query' => array(
                                                    array(
                                                        'taxonomy' => 'category',
                                                        'field' => 'term_id',
                                                        'terms' => $catVal->term_id
                                                    )
                            ));

            $getPost = new wp_query($postArg);
            global $post;

            if($getPost->have_posts()){
                echo '<ul>';
                    while ( $getPost->have_posts()):$getPost->the_post();
                        echo "<li>".$post->post_title."</li>";
                    endwhile;
                echo '</ul>';
            }

        }
    ?>

输出 enter image description here

关于php - WordPress 显示按自定义分类过滤的 CPT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36475465/

相关文章:

php - MySQL:如何根据不同的列仅返回一个表中不存在于另一个表中的唯一条目?

javascript - 根据另一个下拉菜单的选择更改第二个下拉菜单的值

php - 我如何获取添加数据的 ID? (mysql)

mysql - 使用 .sql 备份导入恢复站点

regex - 从分页 URL 中删除 "page"

php - 正则表达式表示一个单词,但如果他们正在创建另一个单词,则避免使用它

php - 在 PHP 7.1.6 中使用 MongoDB\Driver 检查 mongodb 中是否存在集合

php - MySQL 插入行,重复 : add suffix and re-insert

php - MySQL:使用 1 个 MySQL 查询将基于行的数据加载到对象中?

javascript - CSS 将 float 元素移动到另一个位置