Как настроить фильтр вордпресс

Содержание
  1. Добавление на сайт AJAX фильтра постов по категориям, произвольным полям, либо по дате. Сортировка по убыванию / возрастанию.
  2. Шаг 1. HTML фильтра для сайта
  3. 1.1 Добавляем список из рубрик/таксономий
  4. 1.2 Произвольные поля
  5. 1.3 Дата
  6. 50 фильтров WordPress: первые 10 фильтров из серии
  7. Меняем сообщение об ошибке в форме входа
  8. Перенаправление комментирующего на другую страницу
  9. Разрешаем внешний редирект для функции wp_safe_redirect()
  10. Добавляем классы в теге
  11. Меняем язык
  12. Фильтр для корректировки имен пользователей
  13. Настраиваем фильтрацию контента в публикациях
  14. Создаем фильтр для форм к публикациям, защищенных паролем
  15. Функция фильтра the_terms()
  16. Меняем адрес электронной почты
  17. Итог на сегодня
  18. Интернет-магазин на WordPress бесплатно. Как настроить фильтр товаров?
  19. Видео инструкция
  20. 50 фильтров WordPress: фильтры с 11 по 20
  21. Эксперимент с переводом данных в WordPress
  22. Подчищаем текст
  23. Устанавливаем исключения форматирования для шорткодов
  24. Встроенный фильтр проверки комментариев
  25. Настраиваем возможность «Публикация с помощью email»
  26. Фильтр заголовков страниц
  27. Обработка комментариев перед сохранением в базе данных
  28. Настраиваем переадресацию после входа
  29. Создание ссылок в настройках плагинов
  30. Фильтрация контента внутри редактора сообщений
  31. Конец второй части

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

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

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

А теперь давайте приступим к нашему уроку. По шагам.

Шаг 1. HTML фильтра для сайта

Форма будет состоять из:

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

1.1 Добавляем список из рубрик/таксономий

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

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

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

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

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

1.3 Дата

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

Источник

50 фильтров WordPress: первые 10 фильтров из серии

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

Итак, без лишних церемоний, приступим к первой партии из этих 50 фильтров!

Меняем сообщение об ошибке в форме входа

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

Пример: исправляем текст системного сообщения

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

Уже намного лучше.

Перенаправление комментирующего на другую страницу

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

Пример: перенаправление пользователя на страницу подписки после оставления комментария

Многие посетители вашего ресурса заходят к вам и нередко подписываются на ваш блог, верно? И потому, если после того, как пользователь оставляет комментарий, мы выведем сообщение « Спасибо за ваш комментарий! Хотите подписаться на мой блог? «, то сможем « превратить » комментаторов в подписчиков! И это также легко сделать, опять же, с помощью фильтра comment_post_redirect :

Заметьте, что WordPress использует функцию wp_safe_redirect() , которая означает, что вы должны использовать либо локальную страницу, либо страницу из списка разрешенных URL-адресов (смотрите allowed_redirect_hosts ниже).

Разрешаем внешний редирект для функции wp_safe_redirect()

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

Пример: разрешаем редиректы в субдомене

Так как функция wp_safe_redirect() позволяет делать редиректы только внутри инсталляции WordPress , субдомен или домен остается вне зоны доступа.

Позволим WordPress делать редиректы в эти зоны:

Добавляем классы в теге

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

Пример: добавляем класс категорий в тег или на страницы публикаций

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

Если у вас есть категория с именем « World «, вы можете использовать класс .cat-world для стилизации всей категории « World «.

Меняем язык

WordPress — система управления контентом №1 в мире, потому что позволяет перевести весь контент и саму систему в нужном языковом направлении. Фильтр locale устанавливает язык сайта на WordPress .

Пример: меняем язык сайта с помощью параметра URL — запроса

Если у вас многоязычный веб-сайт, самое простое решение для быстрого переключения языка – использовать параметр URL , как показано в примере ниже:

Когда вы устанавливаете URL — параметр mywebsite.com/?language=tr , язык сайта меняется на турецкий. Конечно же, с помощью этого решения вы не сможете перевести сам контент, если не сделали этого заранее.

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

WordPress может устанавливать условия ввода имен пользователей с помощью функции sanitize_user() . А с помощью одноименного фильтра вы сможете настроить функцию.

Пример: убираем возможность ввода заглавных символов в имени пользователя

Если вы не хотите, чтобы система принимала имена пользователей с заглавными буквами (будь то « SHOUTINGBOY88 » или « CrazyGirl92 «), можете использовать PHP — функцию strtolower и сделать хук для фильтра sanitize_user , как показано в примере ниже:

Вполне вероятно, это пример — один из самых простых в этой статье.

Настраиваем фильтрацию контента в публикациях

Эта часть не нуждается в долгом представлении: фильтр the_content позволяет сжимать содержимое поста.

Пример: убираем тег

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

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

Создаем фильтр для форм к публикациям, защищенных паролем

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

Пример: упрощаем форму для ввода пароля

Если защищенные паролем посты – обычное явление на вашем WordPress — сайте и вам не нужно выводить сообщение « Этот контент защищен паролем. Чтобы увидеть защищенную область — введите пароль » — вы можете очистить и упростить форму ввода пароля с помощью этого фрагмента кода:

Итак. Теперь мы видим только три слова, поле для ввода пароля и кнопку « Отправить ». Все в одну строку.

Функция фильтра the_terms()

Если вас не устроил формат вывода данных функцией the_terms() вы можете использовать одноименный фильтр: the_terms .

Пример: удаление HTML – тегов с помощью фильтр аthe_terms()

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

Можете представить выражение моего лица, когда я обнаружил PHP — функцию strip_tags() в ядре.

Меняем адрес электронной почты

Когда WordPress рассылает почту пользователям вашего сайта, он использует в поле « От кого » адрес наподобие wordpress@yourwebsite.com . С помощью фильтра, описанного ниже, можем менять его.

Пример: устанавливаем свой адрес в поле «Адрес отправителя»

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

Можете использовать ее параллельно с фильтром wp_mail_from_name . Логика та же, просто пишите функцию, которая возвращает строку с именем, и цепляете ее к фильтру wp_mail_from_name .

Итог на сегодня

В этой статье мы рассмотрели 10 из 50 фильтров. Надеюсь, вам понравилось, и вы узнали что-то новое. Увидимся в следующем уроке!

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

Источник

Интернет-магазин на WordPress бесплатно. Как настроить фильтр товаров?

Здравствуйте, дорогие друзья!

Мы продолжаем создавать интернет-магазин на WordPress бесплатно и сейчас мы займемся настройкой сайдбара.

Давайте добавим в сайдбаре следующие элементы:

  • список категорий,
  • фильтр по цене,
  • фильтр по атрибутам,
  • блок с просмотренными товарами.

В итоге у нас получится вот такой результат:

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

  1. 1. Переходим в раздел «Внешний вид»«Виджеты»
  2. 2. В области сайдбра удаляем все существующие виджеты.
  3. 3. Добавляем виджет «Категории товаров» и настраиваем как показано в видео.
  4. 4. Для создания фильтра по определенным параметрам (например, цвет, размер, диагональ экрана и т.д.) нам нужно добавить атрибуты. Это делается в разделе «Товары»«Атрибуты».
  5. 5. Для каждого атрибута добавляем перечень основных значений (можно 2-3 для примера, а остальные можно будет добавлять уже из карточки товара).
  6. 6. Добавляем атрибуты к соответствующим товарам в разделе «Атрибуты» в карточке товара.
  7. 7. В разделе «Внешний вид»«Виджеты» добавляем виджет «Фильтрация товаров по атрибутам» и настраиваем его как показано в видео инструкции.
  8. 8. Аналогично добавляем этот виджет для каждого атрибута.
  9. 9. Добавляем виджет «Недавно просмотренные товары».
  10. 10. Добавляем виджет «Фильтрация товаров по цене».
  11. 11. Рассматриваем особенности работы виджета «Фильтрация товаров по рейтингу».

Все эти этапы подробно рассмотрены в видео инструкции.
Приятного просмотра!

Видео инструкция

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

Если Вы ещё не подписаны на новости сайта – не забудьте это сделать, так как впереди ещё будет много полезных материалов по созданию интернет-магазина на WordPress!

Желаю Вам успехов в создании интернет-магазина и жду Вас в следующей статье!

Источник

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

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

Эксперимент с переводом данных в WordPress

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

Фильтр gettext может оказаться полезным в нескольких случаях. Давайте рассмотрим интересный пример.

Пример: поправим грамматические ошибки предыдущего разработчика!

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

Смотрим как именно:

Подчищаем текст

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

Пример: убираем артикль «The» из меток

Хотите избавиться от артикля « The » метках? Смотрите код ниже:

Простое и элегантное решение.

Устанавливаем исключения форматирования для шорткодов

Этот полезный фильтр позволяет указать, какие шорткоды не будут подвержены форматированию функцией wptexturize()» . Выдержка из Кодекса WordPress .

Пример: исключаем ваш шорткод из списка для форматирования

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

Легко? Проще простого!

Встроенный фильтр проверки комментариев

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

Фильтр pre_comment_approve может несколько облегчить предварительную модерацию.

Пример: помечаем комментарии с длинными именами авторов как спам

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

С помощью фрагмента кода, приведенного ниже, вы сможете добиться автоматического исключения спамеров, которые используют такие имена, как «доставка внутри страны и заграницу по очень низким ценам ( Нажмите для получения дополнительной информации )»:

Подсказка бонусом: Если вы хотите избавиться от спама, проверяя длину URL – адреса автора комментария, используйте ‘ comment_author_url ‘ вместо ‘ comment_author ’.

Настраиваем возможность «Публикация с помощью email»

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

Пример: включаем и выключаем возможность «Публикация через Email»

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

Или же если у вас WordPress работает в режиме Multisite и вам нужно включить эту возможность ( потому как в режиме Multisite по умолчанию она отключена ), вы можете использовать функцию __return_true() :

Фильтр заголовков страниц

Функция wp_title() выводит заголовки страниц, те, которые мы видим во вкладках браузера. И она же позволяет нам поработать с этими названиями.

Пример: переписываем заголовки страниц верным методом

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

Обработка комментариев перед сохранением в базе данных

Если вам требуется изменить какие-либо данные комментария ( ID публикации, имя автора, адрес электронной почты автора, веб-сайт автора, тип комментария, идентификатор пользователя, если комментатор является пользователем, тип комментария или же содержание комментария ) – используйте фильтр preprocess_comment .

Пример: приводим в порядок комментарии

У ВАС В БЛОГЕ МНОГО КОММЕНТАРИЕВ ОСТАВЛЕНО ЗАГЛАВНЫМИ БУКВАМИ? Если так и есть, вы можете быстро сделать их строчными:

Настраиваем переадресацию после входа

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

Пример: переадресация пользователей на домашнюю страницу

Если вы не хотите, чтобы авторизовавшиеся пользователи ( в нашем случае с ролью «Subscriber» ) видели панель администрирования после входа, вы можете перебросить их на главную страницу сайта:

В Кодексе WordPress есть предупреждение об одной вещи: « Убедитесь, что вы используете add_filter, а не is_admin(), так как эта функция не доступна, когда используется фильтр «.

Создание ссылок в настройках плагинов

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

Пример: добавляем ссылку «Настройки» для отображения на странице «Плагины»

Чтобы добавить пользовательскую ссылку под названием плагина в списке на странице « Плагины » используйте функцию, подключенную к фильтру:

Заметьте, что мы используем константу __FILE__ для привязки функции к фильтру. Клево?

Используйте это решение осторожно: множество ссылок в настройках плагина не увеличат его функциональности.

Фильтрация контента внутри редактора сообщений

Вам когда-нибудь приходила идея предзаполненных постов в редакторе? Чтобы начинать публикацию с готового шаблона? Или оставлять заметки вашим авторам? Это можно сделать с помощью фильтра the_editor_content .

Пример: оставляем «напоминалки» авторам

Давайте попробуем сделать « заметки авторам «: если у вас есть много напоминаний авторам вашего блога, вы можете заполнить начальное поле записи в HTML — редакторе используя код, приведенный ниже:

Переменную $template меняйте под свои нужды и применяйте на своем ресурсе!

Конец второй части

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

Мне интересны ваши отзывы! Не стесняйтесь оставлять комментарии ниже и, если вам понравилась статья, не забудьте ей поделиться!

Источник

Оцените статью