WP сортировка по мета-полям в шаблоне

test
Так как задачи приходиться решать разные и в разные сайты вносить изменения, то приходиться и с WP возиться. И суть этой небольшой заметки лишь в том, чтобы показать как внутри темы(шаблона) сделать сортировку по мета-полю. К примеру, нужно сделать ручную сортировку, мы с помощью ACF(Advanced Custom Fields) добавляем материалам поле order_weight. Заполняем поле, иначе материал не будет выведен. И используем следующий код:
<?php
                    $args
= array(
                       
'posts_per_page'      => 15,
                       
'post_type'     => ['post'],
                       
'numberposts'   => -1,
                       
//'key' => 'views',
                       
'orderby' => 'meta_value_num',
                       
'meta_key' => 'order_weight',
                       
'order'    => 'ASC',
                       
'post_status' => 'publish',
                       
'category_name'=>'specialists'
                   
);
                   
query_posts($args);
               
?>

<?php if (have_posts()) : $i=1; while (have_posts()) : the_post(); ?>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail(); ?>
</a>
<?php } endwhile; endif; ?>

Немного пояснений по коду

'posts_per_page' - постов на страницу
'post_type' => ['post'] - тип материала
'numberposts' => -1,
//'key' => 'views',
'orderby' => 'meta_value_num', - сортировка по метаполю, чтобы по числам добавляеься _num
'meta_key' => 'order_weight', - поле по которому идет сортировка
'order' => 'ASC', - порядок по возрастанию
'post_status' => 'publish', - только опубликованные
'category_name'=>'specialists' - рубрика


Не отрабатывает сортировка? Смотрите нет ли активного плагина который проводит сортировку. В моем случае мешал "Post Types Order". Это все.

О своей любви к WP говорить не буду ) да, этот движок имеет свое логическое применение, но код в нем хреновый.
Категория: 
Share/Save

Делитесь с друзьями в социальных сетях! Оставляйте комментарии!

Share/Save

Это Вам так же может быть интересно!