WordPress wp_query按类别排序,然后按日期排序

时间:2017-08-29 18:32:42

标签: php wordpress sorting

我正致力于创建自定义page_template,其中显示项目列表并限制为每页显示5个项目。每个项目帖子都有一个项目的类别,根据我的客户的要求,他们希望能够将至少2个项目固定(特征)到列表的顶部。

目前在主页上我已对其进行了配置,因此当客户想要展示项目时,他们所要做的就是在帖子中添加功能类别。

我在项目页面遇到的问题是,我无法弄清楚如何对项目进行排序,以便功能项目首先显示并按日期排序,然后其余项目按日期排序。任何帮助将不胜感激,如果我需要添加任何其他详细信息,请告诉我。

在我的 projects.php 文件

$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$projectsArgs = array(
  'post_type' => 'post',
  'posts_per_page' => 5,
  'paged' => $paged,
  //'orderby' => array( 'taxonomy' => 'ASC', 'date' => 'ASC' ),
  'tax_query' => array(
                   array(
                     'taxonomy' => 'category',
                     'field'    => 'slug',
                     'terms'    => 'projects',
                   ),
               ),
  );

  $query = new WP_Query($projectsArgs);

  if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
      $query->the_post();
      echo '<article>
        <h5>' .get_the_title(). '</h5>
      </article>';
    }

    if ($query->max_num_pages > 1) {
      echo '<nav class="prev-next-posts">
              <div class="prev-posts-link">
                '. get_next_posts_link( 'Previous', $query->max_num_pages ). '
              </div>
              <div class="next-posts-link">
                '. get_previous_posts_link( 'Next' ).'
              </div>
            </nav>';

      wp_reset_postdata();
    }
  }
  else {
    echo '<article>';
      echo '<h1>Sorry...</h1>';
      echo '<p>' . _e('Sorry, no posts matched your criteria.') . '</p>';
    echo '</article>';
  }

0 个答案:

没有答案