50 фильтров WordPress


Оглавление (нажмите, чтобы открыть):

Добавление на сайт AJAX фильтра записей (типов постов) по рубрикам (таксономиям), произвольным полям либо по дате. Сортировка по убыванию / возрастанию.

В последнее время замечаю, что всё больше постов публикуются по просьбам читателей, так что пишите, возможно и для вас разберу какую-нибудь тему ��

Сейчас я покажу вам, как легко и просто создавать асинхронные фильтры записей/товаров (и те и вторые — это произвольные типы постов) на сайте при помощи всего лишь jQuery и WP_Query.

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

1. HTML форма фильтра

Форма будет состоять из выпадающего списка таксономий (для простоты — рубрик), диапазона значений произвольного поля (например пусть это будет цена), радио-кнопок сортировки по дате, по убыванию и возрастанию, а также чекбокса, который позволит отфильтровать посты, отобразив только те из них, у которых имеется миниатюра.

Таксономии

Неважно, элементы какой таксономии вы хотите вывести, в любых случаях функция get_terms() мне кажется ну самым удобным вариантом.

Для того, чтобы вывести элемент выпадающего списка с её помощью, вы можете воспользоваться следующим кодом:

Произвольные поля

Для примера возьмём минимальную и максимальную цену.

Ну тут всё легко, можно просто использовать два HTML-инпута. Конечно, будет гораздо интереснее элемент range с возможностью передвигания ползунков минимального и максимального значения. Но это уже на ваше усмотрение, плагинов jQuery много, что-нибудь да выберете.

Как я уже писал выше — это будут две radio-кнопки.

Чекбокс «Только с фото»

Ну тут вообще всё просто.

Форма целиком

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

2. jQuery-скрипт для отправки запроса и получения данных

Тут я подразумеваю, что вы уже знаете, что такое jQuery и умеете его как минимум подключать на сайт.

3. Обработчик PHP

Ну и последний шаг. Основная задача, с которой у многих людей возникают трудности — это задание аргументов для WP_Query с учётом всех параметров фильтра выше.

Если особый интерес у вас вызывают последние две строчки, то тема AJAX в WordPress подробно раскрыта тут.

По теме

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю, но с 2020 выступаю только на тех, которые сам организовываю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля — пишите мне.

50 фильтров WordPress

本文为系列第三篇,原文:50 Filters of WordPress: Filters 31-40 原文地址

WordPress 中会使用 这个短代码来加载预定义的CSS。这些默认设置你通过 use_default_gallery_style 函数自定义。

上面的代码起作用后, 标签不会主动添加到 这个短代码中。

(这个涉及到https的相关知识)如果你的网站是使用ssl的,那么 wp_get_attachment_url() 函数默认会返还http的url而非https,也因此会有访客警示。下面的代码会解决这个问题:

wp_mail() 函数默认会使用 text/plain 作为文本类型,通过这个 wp_mail_content_type 过滤器,你可以自定义之。

WordPress 在数据库中会保留每一个评论员的ip地址,如果你想修改之,可以使用这个 pre_comment_user_ip 过滤器。


如果你的评论员是使用代理进行评论的,WordPress会记录的是代理的ip而非真实ip。真实ip可以在HTTP头部的 X-Forwarded-For 找到。下面的代码就能实现在数据库中记录的是真实的ip地址。

想知道有关HTTP头部 X-Forwarded-For 的更多知识?请点击喂鸡百科。

你可能找到WordPress 有个“修订版本”的功能,要设置的话你需要通过控制 wp-config.php 中的 WP_POST_REVISIONS 常量。

但是你如果想这个自定义功能也能在其他文章类型中起作用呢?该如何操作?使用这个 wp_revisions_to_keep 过滤器试下。

下面的代码需要修改 $post 变量为你的,代码中为“even”。

HTML5 标准中建议我们使用 或 这两个图片相关的新标签,在这里例子我们重写之:

body_class 这个过滤器在WordPress 开发中常常用到,那么你知道有个 post_class 过滤器可以让你在文章内添加自定义的CSS 类吗?

这样就为你的WordPress 网站的第一篇文章添加了 .first-post 这个类,之后在开发中你就可通过CSS 自定义 .first-post 的样式而不用担心因为使用 :first 这个伪类而产生的跨浏览器兼容问题了。

在WordPress 中,附件大体上相当于一种额外的文章类型——仅仅有小小区别。 attachment_fields_to_edit 这个过滤器可以让我们进行一些自定义操作——当你上传或编辑附件的时候。

默认WordPress 的摘要会裁剪55个单词,如果你想修改之,可以通过这个 excerpt_length 过滤器修改下。

50 фильтров WordPress: фильтры с 41 по 50

В предыдущих частях этой серии статей мы изучили 40 WordPress фильтров. В этом уроке мы рассмотрим последние десять фильтров и приведем примеры их практического применения.

  • Оцените публикацию
    Сайтостроение от А до Я
  • Настрочить жалобу в спортлотоautoRSS
  • Распечатать

Похожие публикации

Общие сведения и работа с типами контента в WordPress

В первых двух частях этой серии статей я рассказала о базе данных WordPress и ее структуре и показала, как управлять зависимостями между различными типами контента. Рубрика: CMS и движки для сайтов

WordPress L10n: как сделать локализацию плагина

В первой части серии статей о WordPress плагинах i18n and l10n мы рассказали о том, как локализовать плагин для WordPress. Рубрика: CMS и движки для сайтов

Полезные советы для разработчиков на WordPress

В этой серии статей мы планируем рассмотреть основополагающие моменты, которые следует учитывать при разработке плагина или темы WordPress. Рубрика: CMS и движки для сайтов

Эффект «матового стекла» посредством CSS-фильтров

В этой статье мы разберем один из таких фильтров на примере эффекта матового стекла, и рассмотрим, насколько более гибко и удобно можно использовать CSS-фильтры в сравнении с использованием статических изображений. Рубрика: CSS

Варианты создания доски объявлений на wordpress

Рассмотрим возможность создания доски объявлений используя плагин Ads-WordPress. Этот плагин имеет широкий круг применения. Рубрика: CMS и движки для сайтов


Проблемы, связанные с увеличением производительности WordPress

В этой статье мы рассмотрим некоторые из наиболее распространенных проблем, связанных с различными ускорителями, и опишем решения, которые помогут вам устранить эти проблемы или хотя бы обойти их Рубрика: CMS и движки для сайтов

Поиск и фильтр WordPress записей по произвольным полям

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

Услуга: Разработаем фильтр для Вашего сайта

Разработаем фильтр и поиск по произвольным полям специально для Вашего сайта. Оформим форму в соответствии с дизайном сайта. Сверстаем страницу с результатами поиска.

от 4 900 рублей

Принцип поиска и фильтра записей в WordPress

Дан был сайт, где товары (в данном случае мотоциклы) добавлялись в виде стандартных WordPress записей c произвольными полями. Для работы с произвольными полями был установлен плагин Types. Произвольные поля отвечали за дополнительные параметры товара, по которым в дальнейшем подразумевался фильтр и поиск.

Также товары группировались в рубрики, название которых были в виде наименования производителей.

Форма поиска и фильтра WordPress товаров

Далее была доработана HTML форма поиска и фильтра WordPress записей. А именно, был создан файл moto_filtr_form.php и наполнен следующим кодом:

Эта форма вызывалась в сайдбаре (sidebar.php) с помощью php кода:

Вот что получилось

HTML форма позволяет выставить необходимые параметры поиска товаров на WordPress сайте и отправляет запрос методом GET (запрос формируется путем изменения URL страницы) .

WP Magazine

Про WordPress на русском языке

События и фильтры в WordPress

Фильтры и события — это то, что позволяет темам и плагинам изменять поведение ядра, не изменяя исходные файлы самого ядра WordPress. В этой статье мы расскажем вам о том, как работают фильтры и события в WordPress и как ими пользоваться в ваших темах и плагинах.

События

События или действия (actions) в WordPress очень похожи на события в JavaScript. Событие выполняется вызовом функции do_action() , а добавить функцию к любому событию можно с помощью функции add_action() .

При выполнении события или действия, выполняются все функции, добавленные к событию в определенном порядке. Это легче всего понять с помощью простого примера. Определяем три функции, которые будут выводить 1, 2 и 3 соответственно:

Добавляем функции к событию foo с помощью функции add_action() :

И выполняем наше событие с помощью функции do_action() :

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

Второй аргумент к функции add_action() — это функция, которая вызывается в момент выполнения события. Функции в рамках одного события выполняются в том же порядке, в котором они были добавлены к событию, за исключением когда функция добавляется к событию с повышенным или пониженным приоритетом. О приоритетах чуть позже.

Итак, наш пример вызовет функции one() , two() и three() по порядку, что выведет на экран 123. Конечно мы могли самостоятельно вызвать эти функции в этом же порядке на месте do_action() , что дало бы тот же самый результат. Так зачем использовать события?

Зачем использовать события

Любой другой плагин или тема смогут легко добавить или удалить функции из вашего события без необходимости изменять код вашего плагина. Такой подход делает ваш плагин более гибким. Например:

Мастер Йода рекомендует:  JavaScript для продвинутых пишем симулятор гравитации

Таким образом, когда дело дойдет до вызова события foo в вашем плагине, на экран выведется уже не 123, а 124, поскольку другой плагин удалил функцию three() из вашего события с помощью функции remove_action() , и добавил на ее место новую функцию four() .

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


  • Ваша тема может выполнить событие в момент вывода шапки, и любой плагин сможет вывести на этом месте баннер, не изменяя код вашей темы
  • Ваша тема может выполнить событие в подвале, и с помощью плагина можно будет вставить в подвал любой текст
  • Ваш плагин выводит блок «поделиться» в конце каждой статьи, другой плагин сможет добавить новую социальную сеть в этот же блок

Стоит так же отметить, что в самом ядре WordPress есть более 1500 фильтров и событий, которые можно использовать в темах и плагинах.

Фильтры

Фильтры в WordPress очень похожи на события. Главным отличием является то, что у фильтров есть значение, которое они передают каждой привязанной функции, соответственно каждая функция должна вернуть это же или измененное значение. Рассмотрим простой пример:

Эта функция принимает один аргумент, добавляет к нему единицу и возвращает результат. Добавим нашу функцию к новому фильтру с помощью add_filter() :

Теперь все функции добавленные к фильтру foo (в нашем случае это всего одна функция) можно легко вызвать или «применить» с помощью функции apply_filters() :

В функцию apply_filters() вторым аргументом мы передаем фильтруемое значение. Оно может быть любым и оно будет передаваться каждой функции привязанной к фильтру, при этом любой фильтр может это значение изменить.

В данном случае на экран выведется значение 6, поскольку значение 5 было пропущено через функцию plus_one() , которая изменила оригинальную переменную. Если убрать функцию у фильтра с помощью remove_filter() , то наш код выведет первоначальное значение 5:

Так же как и события, функции к фильтрам могут добавляться в любом другом плагине или в теме, и выполняются эти функции в том порядке, в котором они были добавлены к фильтру, за исключением повышенного или пониженного приоритетов.

Пример хорошего фильтра

Рассмотрим более интересный пример: создадим массив, который будет содержать ссылки на наши профили в социальных сетях и выводить эти ссылки в шапке нашей темы WordPress. В functions.php:

Возвращаемый массив можно использовать в цикле в нашем файле header.php:

Данный код выведет ссылки на Twitter и Facebook в шапке нашей темы. Для того чтобы добавить новую ссылку в список, нам придется изменять саму тему, или же создать новый фильтр в функции get_my_social_profiles() :

Таким образом любой плагин или дочерняя тема смогут легко управлять списком социальных профилей, не трогая оригинальную тему. Например, убрать ссылку на Twitter и добавить ссылку на Google+ можно с помощью следующего кода в плагине:

Фильтры и события в ядре WordPress

Как мы уже упомянули, в WordPress есть более 2000 фильтров и событий, которыми можно воспользоваться в плагинах или темах для того, чтобы изменить поведение ядра. Рассмотрим несколько интересных примеров.

Отключить комментирование

Отключить комментирование на всем сайте, на зависимо от настроек в параметрах можно с помощью следующего кода:

Фильтр comments_open используется в ядре WordPress каждый раз для того, чтобы проверить открыты ли комментарии к той или иной статье. Наша функция всегда возвращает значение false для этого фильтра, поэтому комментарии будут закрыты везде.

Кстати, ядро WordPress определяет несколько вспомогательных функций для работы с подобными фильтрами:

  • __return_true() — возвращает true
  • __return_false() — возвращает false
  • __return_zero() — возвращает 0
  • __return_empty_string() — возвращает пустую строку
  • __return_empty_array() — возвращает пустой массив
  • __return_null() — возвращает null

То есть наш фильтр на comments_open можно переписать в одну строку:

Изменить длину автоматических цитат

За длину автоматических цитат отвечает фильтр excerpt_length :

С помощью фильтра excerpt_more можно изменить текст, который который ставится в конце автоматический цитаты, по умолчанию это [. ] :

Добавить баннер к содержимому каждой статьи

» data-medium-file=»https://wpmag.ru/wp-content/uploads/sites/13/2014/02/the-content-wordpress-banner-2-300×148.png» data-large-file=»https://wpmag.ru/wp-content/uploads/sites/13/2014/02/the-content-wordpress-banner-2.png» src=»https://wpmag-22.cdn.pjtsu.com/wp-content/uploads/sites/13/2014/02/the-content-wordpress-banner-2.png?w=780″ alt=»Баннер с помощью фильтра the_content» w />

Баннер с помощью фильтра the_content

Фильтр the_content выполняется перед выводом содержимого каждой статьи. Через фильтр проходит само содержимое статьи, поэтому в него легко добавить баннер «на лету» с помощью плагина:


Добавить favicon.ico в раздел

В разделе в каждой теме выполняется событие wp_head . Во время этого события можно вывести ссылку на файл favicon.ico, вставить произвольный код JavaScript или CSS и многое другое:

Учтите, что если вам необходимо подключить внешние .js или .css файлы, делать это стоит с помощью функций wp_enqueue_script() и wp_enqueue_style() во время события wp_enqueue_scripts , а не напрямую в wp_head .

В каждой версии WordPress добавляются все больше и больше новых и полезных фильтров и событий. Список большинства фильтров и событий в ядре можно посмотреть на сайте Адама Брауна, или просканировав файлы ядра на «do_action» и «apply_filters».

Приоритеты

Функции добавленные к фильтрам и событиям выполняются в том же порядке, в котором они были добавлены, но порядок легко изменить с помощью приоритетов. Приоритет указывается третьим аргументом к функциям add_action() и add_filter() .

Без указания этого аргумента функции к фильтрам и событиям добавляются по умолчанию с приоритетом 10. Функции выполняются от меньшего приоритета к большему, т.е. чем меньше приоритет, тем раньше выполняется функция.

Вернемся к примеру с цифрами:

Если изменить приоритет выполнения функции three() на 9, то она выполнится раньше остальных:

Подобным образом, указав приоритет 11 для функции one() , она выполнится позднее всех остальных, несмотря на то, что она была добавлена первой с помощью add_action() :

Дополнительные параметры

В каждую функцию, привязанную к фильтру или событию, легко передать дополнительные параметры. Делается это при вызове функций do_action() или apply_filters() , например:

Ключевым моментом является то, что при добавлении функции к фильтру или событию нам необходимо указать количество принимаемых аргументов, за это отвечает четвертый параметр функций add_action() и add_filter() .

Например, если в функции к событию foo мы хотим принять все три аргумента, необходимо указать 3 в качестве четвертого параметра к add_action() :

Подобным образом, если в функции добавленной к фильтру мы хотим принять только $arg1 в качестве дополнительного аргумента, то просим add_filter() передать всего два аргумента — первый аргумент $value , и второй дополнительный аргумент $arg1 :

Пример

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

Это запретит сброс пароля для всех пользователей на сайте, но если нам необходимо запретить сброс пароля только супер-администраторам в сети мультисайт (в целях безопасности), мы можем воспользоваться дополнительным аргументом:

» data-medium-file=»https://wpmag.ru/wp-content/uploads/sites/13/2014/02/allow_possword_reset_filter-300×135.png» data-large-file=»https://wpmag.ru/wp-content/uploads/sites/13/2014/02/allow_possword_reset_filter.png» src=»https://wpmag-22.cdn.pjtsu.com/wp-content/uploads/sites/13/2014/02/allow_possword_reset_filter.png?w=780″ alt=»Запрет восстановления пароля с помощью фильтра» w />

Запрет восстановления пароля с помощью фильтра

Учтите, что функции привязанные к фильтрам могут изменять только первый аргумент, передаваемый в фильтр. То есть функция приведенная выше может изменить только аргумент $allow , но не $user_id .

Для того, чтобы дать функциям возможно изменять более одного передаваемого аргумента, фильтры (и события) могут воспользоваться передачей переменных и объектов по ссылке в PHP, как это делает например событие pre_get_posts .

ООП, классы, объекты и анонимные функции

Разработчики тем и плагинов WordPress часто предпочитают объектно-ориентированный стиль программирования, где большая часть кода выполняется внутри объекта, а не в глобальном пространстве. Если функциям add_action() и add_filter() необходимо передать не функцию для вызова, а метод объекта, его необходимо передать в специальном формате массивом:

Похожим образом можно передать статический метод класса:

Фильтры и события поддерживают и анонимные функции, например:

Пользоваться анонимными функциями с фильтрами и событиями в WordPress мы не рекомендуем, поскольку их сложно отлаживать (например с помощью плагина Debug Bar Slow Actions) а функция create_function() не кэшируется на уровне байт-кода, например в APC.

Заключение

Фильтры и события лежат в основе самого WordPress, и работу с ними следует освоить каждому разработчику тем и плагинов, ведь именно фильтры и события позволяют расширять ядро популярной системы.

Разработчикам тем и плагинов для WordPress так же не следует забывать о фильтрах и событиях внутри их собственных продуктов для того, чтобы делать их более модульными, гибкими и легко изменяемыми с помощью стороннего кода.

Если у вас возникнут вопросы о фильтрах и событиях в WordPress, оставьте комментарий и мы обязательно вам ответим.


Плагины 10 WooCommerce для создания фильтра продукта

Divi: самая простая тема WordPress для использования

Divi: Лучшая тема WordPress всех времен!

Более Загрузка 600.000, Divi — самая популярная тема WordPress в мире. Он является полным, простым в использовании и поставляется с более чем бесплатными шаблонами 62. [Рекомендуется]

Фильтры WooCommerce поиск и фильтрация: публикации, пользовательские публикации, продукты и т. д. благодаря ряду параметров которые позволяют пользователям легко найти то, что они ищет на вашем интернет-магазин.

Пользователи вашего веб-сайта смогут выполнять поиск, результаты которого могут быть отфильтрованы по категориям, ключевым словам, типам, авторам или любой другой их комбинации. Эти фильтры очень полезны для критических сайтов, сайтов электронной коммерции и многого другого.

Вот вам список лучших плагинов WordPress WooCommerce для 10, которые позволят вам упростить поиск и сортировку товаров в вашем интернет-магазине.

1 — Фильтр товаров WooCommerce

WooCommerce Фильтр товаров «все в одном», единый фильтр для всех магазинов. Это гаджет для любого владельца интернет-магазина WordPress или WooCommerce.

Этот плагин WordPress расширяет функциональность вашего интернет-магазина, путем добавления расширенные фильтры, которые вам и вашим клиентам понравятся. Поднимите свой бизнес на более высокий уровень , Еще одна особенность, которая может вам понравиться, это ее способность адаптировать его макет в соответствии с темой WordPress и устройством, которое вы используете.

2 — Reactive Pro — Расширенный поиск WP, фильтр и сетка

Реактивная Pro является мощным плагином WordPress для поиска, фильтрации и форматирования сетки в вашем интернет-магазине . Он имеет макет, упрощенный благодаря функции перетаскивания, которую он поддерживает для поиска, фильтрации и сетки. Вы сможете выбрать любой тип формы публикации и будете работать с ней и создаст динамическую страницу поиска и мощные фильтры.

Мастер Йода рекомендует:  Восемь бесплатных альтернатив Dropbox

Il также поставляется с решением для проектирования сетки; Он создает открытый API, так что каждый может создать свой собственный дизайн , Он имеет селектор дизайн сетки, чтобы администратор мог выбрать тот, который кажется близким к его норке.

3 — группа инструментов Woocommerce

WooCommerce Инструменты диапазона имеет особенности которые позволяют взаимодействовать с клиентами наиболее легко и эффективно.

Это способ увеличить ваши продажи. Благодаря мощным фильтрам ваши клиенты смогут быстрее и точнее исследовать ваши продукты.

Вы ищете лучшие темы и плагины WordPress?

Загрузите лучшие плагины и темы WordPress на Envato и легко создайте свой сайт. Уже больше, чем 49.720.000. [ЭКСКЛЮЗИВ]

4 — Woocommerce Filter Product

WooCommerce Фильтр товаров , представляя собой лучший плагин WooCommerce для сайта по продаже транспортных средств или их частей. этот плагин позволяет применять фильтры, необходимые для Уточните результаты, которые вы ищете. исследования показать, что 75% пользователей оставляют сайт Web 15 в секундах с того момента они не могут найти то, что ищут.

Так делают исследования и выбор продуктов из процесс проще и быстрее создать лояльность клиентов клиентов и увеличить продажи вашего интернет-магазина . С WooCommerce Фильтр товаров ваши клиенты быть в состоянии фильтровать продукты сразу после категория продуктов , они будут также фильтр продукты без перезагрузки страницы после создания категории.

Скачать | Демо | веб-хостинг

5-WooCommerce Сетка: Дисплей + AJAX Фильтр продукта

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

Функции, которые он предлагает, включают в себя: автоматическая страница и неограниченные пресеты, поддержка нескольких языков, м усовершенствованные модели товарных сеток, ф окно поиска с пользовательскими полями и многое другое

6 — WOOF | Фильтр продуктов WooCommerce

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

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

7 — Правила и фильтры заказов WooCommerce

Le плагин WordPress WooCommerce Заказать Правила и фильтры позволяет применять легко фильтры в ваших командах, используя фильтры и правила.

Легко создайте свой сайт с Elementor


Elementor позволяет легко создать любой дизайн сайта с профессиональным дизайном. Прекратите платить дорого за то, что вы можете сделать сами. [Free]

Фильтровать быстро через Заказы по правила, которые вы определяете и / или применять цвета на линиях так что, когда правило порядка соответствует цвету линия изменена .

8 — SS WooCommerce Ajax Filters

Le плагин WooCommerce Фильтр Ajax позволяет фильтровать функциональные продукты множества атрибуты, ценовые диапазоны, даты, популярность, средняя оценка , состояние запасов и т. д.

Пользователи могут выбрать несколько фильтров одновременно и нажмите кнопку «Применить», чтобы получить желаемый результат. Вы не можете отправить несколько запросов для одного и того же атрибута параметра или фильтра. При желании вы сможете выбрать для отображения результаты А jax за клик, если вам не нравится функция кнопки «Применить».

9 — Фильтр метаданных и таксономий WordPress

Le плагин Фильтр метаданных WordPress и таксономий имеет большая гибкость и на данный момент это решение наиболее полный, чтобы сделать очень большой контент легко доступным для поиска.

С помощью этого плагина WordPress вы сможете фильтровать: сообщения, пользовательские типы сообщений, продукты WooCommerce и многое другое.

Фильтр шагов 10 -Woocommerce

С почти идеальной записью на ThemeForest плагин WordPress Шаблон фильтра WooCommerce остается мощным и гибким для создания пошаговых фильтров продукта. Это поможет вам последовательно выбирать продукты, отвечая на вопросы на каждом этапе.

Легко создайте свой интернет-магазин

Загрузите бесплатные WooCommerce, лучшие плагины для электронной коммерции, чтобы продавать свои физические и цифровые продукты в WordPress. [FREE]

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

Вывод

Вот где наш список лучших плагинов 10 для WordPress и WooCommerce посвящен простому и быстрому созданию фильтров в вашем интернет-магазине или на сайте электронной коммерции.

Однако вы также сможете ознакомиться с нашими Ressources, если вам нужно больше элементов для реализации ваших проектов создания интернет-сайтов, обратитесь к нашему руководству по Создание блога на WordPress или Divi: лучшая тема WordPress всех времен.

Мы надеемся, что с этим списком вы найдете плагин WordPress, который вам подойдет. Не стесняйтесь оставлять комментарии или предложения и особенно делиться ими в своих любимых социальных сетях.

Как в WordPress добавить фильтр в поиске?

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

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

Как в WordPress добавить фильтр в поиске?

Одним из способов решения этой задачи является использование бесплатного WordPress-плагина Search & Filter.

Плагин Search & Filter

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

Во-первых, плагин нужно установить и активировать. После активации плагин добавит новый пункт меню Search & Filter в панель администратора WordPress. Нажав по нему, Вы перейдете на страницу использования плагина с подробной документацией о том, как его использовать.

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

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

Для вставки его в любое место WordPress-шаблона используют служебную команду do_shortcode(), которая отображает на странице содержимое шорткода. Она будет иметь вид:

Если добавить этот код в файл search.php, то страница поиска будет выглядеть так:

Рассмотрим другой пример, включающий включающий категории, теги, типы записей и дату.

Теперь вместо использования выпадающего поля выбора Вы также можете использовать флажки и добавлять метки для каждого поля. Для этого нужно добавить еще два параметра в наш шорткод.


Если Вы используете отдельную страницу для отображения своих сообщений в блоге, Вы можете добавить этот короткий код на страницу.

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

Давайте посмотрим другой пример. На этот раз мы добавим поля категорий, тегов и почтовых полей с разными заголовками и типами полей формы.

Также эти шорткоды можно использовать в виджетах.

Beautiful Taxonomy Filters: фильтры таксономий для произвольных типов записей в WordPress

Beautiful Taxonomy Filters – новый плагин, который добавляет фильтры к вашим архивам произвольных типов записей на основе таксономии (термы, рубрики, метки). Он позволяет посетителям фильтровать произвольные типы записей по нескольким термам во фронтэнде.

Плагин автоматически добавляет правила перезаписи для создания симпатичных отфильтрованных URL без использования JS. Beautiful Taxonomy Filters был создан шведским разработчиком плагинов Jonathan de Jong. При создании плагина он использовал WordPress Plugin Boilerplate для организации кодовой базы посредством стандартизированного объектно-ориентированного подхода.

Плагин использует select2 для замены уродливых полей выбора элементов на привлекательные, дружественные к пользователям выпадающие списки. Если JS не поддерживается, то эти списки будут деградировать до стандартных полей выбора. Ниже приведен пример, основанный на моих тестах; я применил плагин к произвольному типу данных портфолио:

Плагин может подключать столько фильтров, сколько вам нужно. Однако если у вас имеется тип записей с многочисленными таксономиями, вы можете исключить их, если они не так полезны при фильтрации:

Beautiful Taxonomy Filters имеет страницу настроек в панели администратора для активации типов записей, простого исключения таксономий, включения ссылки «очистить все», отключения заголовков для активных фильтров, изменения дизайна, а также добавления произвольных CSS-стилей.

Возможности плагина следующие:

  • Активация фильтрации для любого зарегистрированного публичного типа записей
  • Исключение таксономий, для которых не требуется фильтрация
  • Создание красивых URL. Вы не будете видеть уродливые /posttype/?taxonomy1=term. Вместо этого вы увидите /posttype/taxonomy/term.
  • Включает полностью функциональный фильтр для размещения в вашей теме
  • Возможность вывода вашим посетителям информации о текущей активной фильтрации
  • Позволяет включать произвольные GET-параметры, что дает возможность расширения фильтрации.
  • Многочисленные фильтры и действия для изменения поведения плагина.

В данный момент Beautiful Taxonomy Filters не поддерживает выбор многочисленных термов из одной и той же таксономии. Эта возможность заложена в дорожную карту разработки. Автор плагина отмечает, что он надеется реализовать эту опцию в будущей версии вместе с красивыми постоянными ссылками. Если постоянные ссылки не получится прикрутить, то в таком случае автор планирует добавить возможность выбора красивых ссылок, чтобы раскрыть для себя всю мощь фильтрации многочисленных термов.

Beautiful Taxonomy Filters не поддерживает встроенный тип записей post. Это сделано по той причине, что автор плагина не смог создать надлежащие правила перезаписи для фильтрации многочисленных термов, поскольку они обрабатываются в WordPress несколько иначе, чем другие произвольные типы записей. Если вам требуется решение для фильтрации обычных записей, вам придется создавать его самостоятельно, поскольку оно не включено в плагин.

Мастер Йода рекомендует:  Как в Java округлить число до n знаков после запятой

Возможности произвольных полей в системе WordPress

Мало кто знает, но в WordPress имеется очень хорошая возможность назначить произвольные поля (более известные как мета-данные) к любой записи. По сути, это самый мощный компонент постов и типов контента в WordPress, который редко применяется начинающими пользователями. Благодаря этой инструкции, вы сможете лучше понять, как можно использовать произвольные поля в WordPress.

Что такое произвольные поля для записей в WordPress

Произвольные поля – это мета-данные, которые задаются как пары ключ / значение, где «ключ» – имя, идентифицирующее конкретное поле.

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

Использование произвольных полей в WordPress

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

Давайте используем эту форму, чтобы показать настроение автора в момент написания статьи. Нажмите «Добавить новое поле» и заполните строки имя / значение, как Сегодняшнее настроение / Счастлив. Как только вы добавите это поле и сохраните пост, дополнительная информация, связанная со статьей, запишется в базу данных. Ее можно будет отобразить в любом месте вашей темы.

Поскольку это очень простой пример, мы будем использовать самый простой способ отображения этой информации. Допустим, что вы хотите показать свое настроение перед тем, как человек прочитает ваш пост. Для этого, перейдите в редактор внешнего вида и откройте файл «single.php». Найдите там цикл «loop», начинающийся с

while ( have_posts() ) : the_post();

и добавьте перед ним следующий код:

Теперь, на странице со статьей будет отображаться что-то вроде этого:

Сегодняшнее настроение: Счастлив

Этот способ отображения удобен, когда у вас есть только одно поле, но если у вас их 5, и вы хотите показать их в 5 разных местах? Тогда проще использовать хук «get_post_meta». Допустим, вы хотите отобразить только одно поле мета-данных в отдельном месте темы. Вам нужно добавить следующий код перед циклом «loop»:

ID, ‘Сегодняшнее настроение’ , true); ?>

А что делать, если у вас есть дополнительные мета-данные, например, для песен, которые вы слушали во время написания поста? В таком случае, вы можете создать несколько ключей «Песни», имеющих различные значения. А затем, вставить перед циклом подобный код:


ID, ‘Песни’, false); ?>
Этот пост вдохновлен музыкой:

Обратите внимание, что важную роль здесь играет третий параметр «false». Он указывает на то, что функция будет возвращать массив значений для данного ключа. Это очень удобный способ для отображения нескольких значений одного поля.

Расширенные возможности произвольных полей в WordPress

Использование мета-данных может выходить далеко за рамки показа настроения и песни. Например, некоторые популярные плагины, такие как Yoast’s WordPress SEO и WP-Post Ratings, а также многие другие, используют мета-данные для реализации своих функциональных возможностей.

Давайте рассмотрим несколько расширенных методов использования мета-данных, которые могут пригодиться вам в работе над своим сайтом. Это только малая часть области их применения, но отлично подойдет в качестве примера.

Фильтр записей по произвольным полям

В WordPress есть очень хорошая функция «query_posts», которая, кроме всего прочего, имеет параметр для пользовательских полей. Таким образом, мы может использовать ее, чтобы создать своеобразный фильтр для отображения записей с определенным ключом / значением. Все, что вам нужно сделать, это вставить тег «query_posts» выше оператора цикла «loop».

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

Благодаря этому коду, отображаться будут только определенные статьи, имеющие мета ключ «Песни», а остальные попадут под фильтр. Таким образом, вы можете создать новую страницу, вставить в нее данный код, и на ней будут находиться все записи, имеющие такой ключ.

А если, допустим, вы захотите настроить фильтр немного больше, чтобы отображать на странице только те посты, которые написали во время прослушивания трека определенного исполнителя. Тогда, вам нужно будет вставить в шаблон такой код:

Поиск записей по произвольным полям

Фильтр постов по мета-данным, безусловно, удобная штука, но создавать страницу для каждого исполнителя, чтобы пользователь имел возможность посмотреть статьи, написанные во время его прослушивания, это абсурд. В такой ситуации, лучше было бы предоставить пользователю возможность осуществить поиск по заданному слову.

К сожалению, стандартный поиск ВордПресс не учитывает дополнительные данные, а только заголовок и содержание поста. Но эту проблему можно решить, улучшив поиск, с помощью плагина Custom Fields Search by BestWebSoft. Этот плагин позволяет добавить любое пользовательское поле в стандартный поиск ВордПресс. Все, что вам нужно, это выбрать те поля, которые поиск должен пропускать через фильтр.

Использовать этот плагин достаточно просто. Как только вы установите и активируете его, в меню административной панели появится пункт «BWS Plugins», открывающий страницу настроек плагина. На этой странице будет отображен список всех мета-данных, созданных на вашем сайте. Вам остается только выбрать нужные поля, чтобы стандартный поиск их учитывал, и сохранить результат.

Скрытие области для добавления полей

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

Удалить их достаточно просто. Вам нужно только открыть файл «functions.php» своей темы и добавить туда следующие строки:

add_action(‘admin_init’,’remove_custom_meta_boxes’);
function remove_custom_meta_boxes() <
remove_meta_box(‘postcustom’,’post’,’normal’);
remove_meta_box(‘postcustom’,’page’,’normal’);
>

Заключение

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

Как добавить фильтрацию постов и страниц в WordPress

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

Учитывая, насколько полезны фильтры контента, вполне логично, что такая функциональность уже встроена в ядро платформы WordPress. А если добавить немного улучшений, вы можете добавить данную фичу на свой сайт, что позволит посетителям перемещаться по вашему контенту более уверенно. В данной статье мы рассмотрим процесс практического создания функции фильтрации контента для посетителей вашего сайта.

Зачем нужна фильтрация постов и страниц WordPress?

WordPress невероятно гибкий. Платформа позволяет разработчикам контролировать практически все на своем сайте. Фильтрация постов и страниц – одна из самых мощных функций WordPress. Для этого существует несколько встроенных функций, которые позволяют фильтровать посты, страницы и даже пользовательский контент. Кроме того, существует множество способов выбора, группировки и фильтрации элементов, которые хранятся в базе данных. Вы можете создавать отсортированные списки результатов поиска по шаблону страницы, типам постов, таксономическим условиям, иерархии шаблонов, страницам товаров и др.

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

Как добавить фильтрацию контента без использования плагина

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

Для этого, во-первых, нужно создать простую форму:

В приведенной выше форме мы реализуем выбор таксономии с помощью функции get_terms .

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

Вы можете добавить этот код, например, в файл-шаблона для боковой панели на сайте sidebar.php .

На следующем шаге мы будем использовать небольшой код jQuery, который позволит видеть результаты фильтрации без перезагрузки страницы (т.е., в режиме AJAX):

Вышеприведенный код вы также можете добавить в шаблон сайдбара, либо же добавить скрипт в отдельный файл скриптов темы.

После этого нужно добавить небольшую функцию в файл function.php активной темы, которая будет обрабатывать результат на основе выбранных фильтров. Она будет анализировать выбранную категорию, и пока в наличии есть посты, функция отобразит их по дате публикации (в порядке возрастания или убывания). Если в выбранной категории нет постов, посетителю покажется сообщение, что посты не найдены. Добавьте этот код в файл function.php активной темы:

Вышеупомянутый метод – отличный способ разрешить пользователям фильтровать ваши посты. Но зачем вам это делать? WordPress уже позволяет организовывать ваши посты по категориям и тегам, но дает возможность пользователям просматривать только одну категорию (или тег) за раз. Более того, если вы используете пользовательские типы постов, которые используют свои собственные категории, эти категории не будут видны с теми, которые используются для обычных постов.

Рассмотренный сегодня функционал можно использовать для фильтрации не только постов и страниц, но и, например, товаров или услуг. Добавьте свои улучшения в код, придайте форме стилевого оформления с помощью CSS и у вас будет отличный функционал, который придется по душе посетителям вашего сайта!

Добавить комментарий