Сортировка записей на WordPress

В архиве записи выведены с помощью WP_query

<?php get_header();

if (get_query_var('paged')) {
    $paged = get_query_var('paged');
} elseif (get_query_var('page')) { // applies when this page template is used as a static homepage in WP3+
    $paged = get_query_var('page');
} else {
    $paged = 1;
}


$post_per_page = get_option('posts_per_page');
$post_args = array(
    'posts_per_page' => $post_per_page,
    'orderby'        => 'date',
    'paged'          => $paged,
    'order'          => 'DESC',
    'post_type'      => 'post',
    'post_status'    => 'publish'
);

$query = new WP_Query( $post_args );
$total = $query->found_posts;

if(is_page()) {
    $max_num_pages = $query -> max_num_pages;
} else {
    global $wp_query;
    $query = $wp_query;
    $max_num_pages = false;
}
?>

<main>
    <?php get_template_part('template-parts/global/page-before-content');?>

    <div class="container">

        <div class="row">

            <div class="col-lg-3 ">
                <?php get_sidebar('blog');?>
            </div>
            
            <div class="col-lg-9 archive-content">


///это форма для сортировки записи 
                <form method="get" id="order">
        <div class="input-field select-custom select-custom-v1">
            <select name="order" onchange='this.form.submit()'>
                <option value="" selected>По дате - сначала новые</option>
                <option value="latest"<?=$s1?>>По дате - сначала старые</option>
                <option value="count"<?=$s2?>>По популярности</option>
                <option value="title"<?=$s3?>>По названию</option>
                <option value="correct"<?=$s4?>>По дате изменения</option>
            </select>
                            
          
        </div>
    </form>
                    
                    
                
                    <?php get_template_part('templates/global/blog-before-content'); ?>
                    <div class="blog-container row">
                        <?php if($query -> have_posts()): while ($query -> have_posts()) : $query -> the_post(); ?>
                        <article <?php post_class('col-12 col-sm-6 col-md-4 mb-30'); ?>>
                            <div class="single-post-card">

                            <div class="blog-item">                 
                                <a href="<?php the_permalink();?>" class="thumb" rel="canonical">                   
                                    <?php 
                                    $thumbnail = get_the_post_thumbnail( $post->ID, 'blog-medium');
                                    if ($thumbnail == '') {
                                        $thumbnail = '<img src="https://via.placeholder.com/250x250" alt="">';
                                    }?>
                                    <?php echo $thumbnail;?>                    
                                </a>
                                <div class="name"><a href="<?php the_permalink();?>"><?php the_title();?></a></div>
                                <div class="description d-none"><?php the_excerpt();?></div>    
                                <p><?php echo get_the_date();?></p>     
                            </div>       
                
                            </div>
                        </article>
                        <?php endwhile; wp_reset_postdata(); else:
                                get_template_part('templates/content', 'none');
                            endif; ?>
                    </div>
                
                
                <?php   lp_pagenavi($max_num_pages);?>

            </div>

        </div>

    </div>

    <?php get_template_part('template-parts/global/page-after-content');?>
</main>



<?php get_footer();

Можно ли сделать сортировку записей по дате, тайтлу и тд?

Видел способ с while have_posts get_posts, но тут через WP_query реализовано


Ответы (0 шт):