根据下拉菜单wordpress按日期对帖子进行排序

时间:2018-07-02 07:28:42

标签: php wordpress

因此,我想根据下拉菜单对帖子进行排序,用户可以选择使用ASC(最旧)或DSCE(最新)的排序方式,我尝试了几种方法,但它们似乎不起作用。

  1. 使用Square 1媒体代码在网址中传递orderby = date&order = asc

    the code

  2. 更改wp_query参数

    $args = array (
              'post_type'              => 'post',
              'post_status'            => 'publish',
      'paged'                  => (get_query_var('paged') ? get_query_var('paged') : 1),
       'cat'                    => 2,
       'orderby' => 'date',
         'order'   => 'ASC',
          );
          $alchem_query = new WP_Query( $args );
         if ( $alchem_query->have_posts() ) :
           ?>
        <?php while ( $alchem_query->have_posts() ) : $alchem_query->the_post(); ?>
        <?php get_template_part( 'content', 'article'.$alchem_blog_style ); ?>
        <?php endwhile;  ?>
        <?php endif;?>
        <?php wp_reset_postdata();
        }?>
    

1 个答案:

答案 0 :(得分:0)

您只需要将GET参数传递给查询。

$args = array (
          'post_type'              => 'post',
          'post_status'            => 'publish',
  'paged'                  => (get_query_var('paged') ? get_query_var('paged') : 1),
   'cat'                    => 2,
   'orderby' => (isset($_GET["orderby"])?$_GET["orderby"]:'date'),
     'order'   => (isset($_GET["order"])?$_GET["order"]:'ASC'),
      );
      $alchem_query = new WP_Query( $args );
     if ( $alchem_query->have_posts() ) :
       ?>
    <?php while ( $alchem_query->have_posts() ) : $alchem_query->the_post(); ?>
    <?php get_template_part( 'content', 'article'.$alchem_blog_style ); ?>
    <?php endwhile;  ?>
    <?php endif;?>
    <?php wp_reset_postdata();
    }
?>