«
»
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

Связанные записи
PageSpeed InsightsWordPressПанели управления

Как повысить производительность WordPress - советы от Plesk

LinuxWEBWordPressПанели управления

Как уменьшить нагрузку на сервер и повысить скорость WordPress с помощью Memcached | Форум Plesk

WordPress

WordPress 5.5 - 20 новых функций и много улучшений. Что нового в WP.

WordPressПлагины

Плагин Pinterest Automatic Pin Wordpress от ValvePress (авто постинг в Pinterest на автомате)