Intereting Posts
Ошибка при получении сообщения от met_key Избранные изображения обрезаются по индексу и по почте Перенаправление wp-login.php приводит к неработоспособности процесса выхода из системы Зацикливание через пользовательскую таксономию в столбце и отображение пользовательских полей из сообщений Исключить детские термины из родительского периода Пользовательский плагин для преобразования CSV в MySQL Цикл имен пользовательских сообщений Плагин WordPress с Nodejs и Socket.io Добавление социальных значков в тему через пользовательское меню администратора Переименуйте кнопку «Добавить медиа» на «Добавить изображения» RSS-каналы и WordPress? Customizer: мгновенно обновлять предварительный просмотр при вводе в поле ввода номера Отправить письмо по новому комментарию, когда не требуется разрешение администратора? ранжирование контента с переполнением стека для wordpress? Постоянная ссылка с под-подкатегорией и названием

Заказывать продукцию на основе таксономии и даты

Для веб-магазина на WordPress я пытаюсь заказать отсортированные продукты на основе их ярлыка. Каждый продукт является именованным property типа post.

ситуация

Метка – это таксономия, называемая «property_label», и может быть:

  • Продан
  • арендованный
  • открыто

Код для сортировки прямо сейчас:

  if ( $sort_by == 'a_price' ) { $query_args['orderby'] = 'meta_value_num'; $query_args['meta_key'] = 'fave_property_price'; $query_args['order'] = 'ASC'; } else if ( $sort_by == 'd_price' ) { $query_args['orderby'] = 'meta_value_num'; $query_args['meta_key'] = 'fave_property_price'; $query_args['order'] = 'DESC'; } else if ( $sort_by == 'featured' ) { $query_args['meta_key'] = 'fave_featured'; $query_args['meta_value'] = '1'; } else if ( $sort_by == 'a_date' ) { $query_args['orderby'] = 'date'; $query_args['order'] = 'ASC'; } else if ( $sort_by == 'd_date' ) { $query_args['orderby'] = 'date'; $query_args['order'] = 'DESC'; } 

Array $query_args переходит в функцию $wp_query = new WP_Query($prop_featured_args); Это позволяет сортировать продукты DESC на их дату, если $sort_by == 'd_date' использует:

  $wp_query = new WP_Query($prop_featured_args); if ($wp_query->have_posts()) : ?> <div class="property-listing <?php echo esc_attr($listing_view); ?>"> <div class="row"> <?php while ($wp_query->have_posts()) : $wp_query->the_post(); get_template_part('template-parts/property-for-listing'); endwhile; ?> </div> </div> <hr> <?php endif; wp_reset_query(); 

Цель

Мне нужны продукты для сортировки по заданным аргументам, а все проданные и арендованные помеченные продукты всегда находятся в конце списка.

попытки

  • Я попробовал usort объект wp_query после запроса.
  • Я пробовал модифицировать $query_args но я не могу найти способ сортировки по таксономии или пользовательскому заказу.
  • Я попытался упорядочить массив с помощью пользовательских функций с циклом foreach, где я бы построил новый массив в зависимости от даты и метки, похоже, не работает.

Может ли кто-нибудь помочь мне?

Исправленные источники, включая try'd-решения:

  • Используя wp_query, можно ли заказать таксономию?
  • Заказывать сообщения по таксономии и метазначению
  • https://gist.github.com/jayarnielsen/12f3a586900aa6759639
  • http://scribu.net/wordpress/sortable-taxonomy-columns.html