2016-12-14 2 views
0

На странице Я установил сортировку по умолчанию по цене (убыв). У меня есть несколько категорий, где я хочу настроить ручную сортировку с помощью плагина. Я полагаю, что мой метод сортировки по умолчанию определяет, что я не могу сделать это в других категориях.Таможенный заказ в некоторых категориях (wordpress)

Как я могу изменить код, чтобы установить список категорий, где я могу установить ручную сортировку сообщения.

Вот код:

<?php 
$args = array(
    'cat'   => '20', 
    'posts_per_page' => 16, 
    'meta_key'  => 'product_price', 
    'orderby'  => 'meta_value_num', 
    'order'   => 'DESC', 
    'paged'   => get_query_var('paged', 1), 
); 
query_posts($args); 
$posts = get_posts($args); 
?> 

<?php foreach ($posts as $post): ?> 
+0

Почему использование 'query_post' и' get_posts' вместе? – Noman

+0

попробуйте использовать WP_QUERY – Noman

+0

Может быть, я могу попробовать «php while» - если кошка «20», у меня есть сортировка по цене и другим категориям. – Pat

ответ

0
  1. Включить page_attributes для этого пользовательского почтового типа. Чтобы вы могли установить порядок этих настраиваемых типов сообщений. Это будет в правой части экрана редактирования сообщения.

  2. Если идентификатор категории специфичен, где вы хотите установить собственный порядок запиши WP_Query следующим

Если часть

// if current category is 20 then this code 
$args = array(
    'cat'   => '20', 
    'posts_per_page' => 16, 
    'orderby'  => 'menu_order', 
    'order'   => 'DESC', 
    'paged'   => get_query_var('paged', 1), 
); 

$posts = new WP_Query($args); 

Else часть

// else your code 

$args = array(
    'cat'   => '20', 
    'posts_per_page' => 16, 
    'meta_key'  => 'product_price', 
    'orderby'  => 'meta_value_num', 
    'order'   => 'DESC', 
    'paged'   => get_query_var('paged', 1), 
); 

$posts = new WP_Query($args); 
Смежные вопросы