FacetWPWordPressПлагины

Добавление параметров сортировки в FacetWP

Добавление параметров сортировки в FacetWP

По мере того, как я реализую все больше и больше аспектов FacetWP, я нахожу все больше и больше способов манипулировать поиском. Сначала я добавил только те функции, которые позволяют людям легко искать сразу несколько аспектов. Но я еще не добавил никаких функций в сортировку.

Сортировка и заказные

Как правило, Facets работает так, что вы можете легко организовать все «типы» вместе, поэтому, если вы хотите найти все, что пересекает четыре отдельные категории, это было очень легко. Кроме того, вы можете расширить его для поиска метаданных.

Сортировка, с другой стороны, меняет порядок результатов. Например, если вы хотите найти всех с терминами A, B и D и опубликовать meta foo, но заказать их по мета-строке post, вы можете!

Практический пример 

Я всегда лучше работаю с примерами, которые могу обернуть руками.

Бери телевизионные шоу. Возьмите список из 500 телешоу и включите в него следующие таксономии:

  • Жанры (драма, ситком и т. Д.)
  • Airdates (год к году)
  • Тропы (общие тропы)
  • Количество символов
  • Количество мертвых символов

Пока этого достаточно.

С этим списком и несколькими аспектами вы можете составить меньший список всех ситкомов, которые транслировались в период между 2014 и 2016 годами (включительно), с набором «секс-работников». Ответ 4 кстати. По умолчанию список отображается в алфавитном порядке.

Но. Что, если вы хотите заказать их по числу, в котором больше всего символов?

Это сортировка.

Топ ↑

Код №Код

Хорошо, так как мы можем добавить это в? Функция!

Facet имеет довольно много значений по умолчанию, но он позволяет вам добавлять свои собственные параметры сортировки. Ниже я расскажу о двух вещах: как переименовать метки дисплея для некоторых значений по умолчанию и как добавить один новый параметр для наибольшего количества символов:

add_filter( 'facetwp_sort_options', 'DOMAIN_facetwp_sort_options', 10, 2 ); function facetwp_sort_options( $options, $params ) { $options['default']['label'] = 'Default (Alphabetical)'; $options['title_asc']['label'] = 'Name (A-Z)'; $options['title_desc']['label'] = 'Name (Z-A)'; if ( is_post_type_archive( 'DOMAIN_shows' ) ) { $options['most_characters'] = array( 'label' => 'Number of Characters (Descending)', 'query_args' => array( 'orderby' => 'meta_value_num', // sort by numerical 'meta_key' => 'DOMAIN_char_count', 'order' => 'DESC', // descending order ) ); }

Я завернул это в проверку, is_post_type_archiveпотому что я не хочу, чтобы опции отображались на других страницах. Мета-ключ – это имя мета-ключа, который вы собираетесь использовать для сортировки (у меня есть ключ, который обновляется каждый раз, когда сообщение сохраняется с добавленным количеством символов), а значение orderby является одним из тех, которые может использовать WP Query. использовать .

Топ ↑

Конечный результат?

Раскрывающийся список с опциями

Выглядит хорошо!

Источник записи: https://halfelf.org

Похожие сообщения
WordPressПлагиныПолезные сайты

40 полезных инструментов для управления и развития вашего блога (обновлено)

ElementorWordPressПлагины

Elementor - Как создать мега меню с помощью дополнений Elementor и Plus

WordPressWordPress темы

20+ лучших женских тем WordPress 2020

WordPress

Как исправить ошибку загрузки изображения WordPress