50 фильтров WordPress: фильтры с 11 по 20
Опубликовано: 05.06.2017
В предыдущей статье этой серии мы рассмотрели первые десять фильтров WordPress , сопровождая их примерами. В этом уроке мы продолжим обзор 50 выбранных нами для изучения фильтров, сопровождая их пояснениями и примерами работы каждого фильтра.
Продолжим!
Одна из самых привлекательных особенностей WordPress - каждый бит текста готов для перевода. Если язык вашего сайта английский, по всей видимости, вам не нужна эта функция - или все - таки потребуется?
Фильтр gettext может оказаться полезным в нескольких случаях. Давайте рассмотрим интересный пример.
💎«МАЛОПОЛЕЗНЫЙ КОНТЕНТ, СПАМ, ИЗБЫТОК РЕКЛАМЫ» НОВЫЙ ФИЛЬТР ОТ ЯНДЕКСА - ВЕЧЕРНИЙ ПУЗАТ
Пример: поправим грамматические ошибки предыдущего разработчика!
Предположим, вы нашли хороший плагин для работы, но понимаете, что его разработчик говорит по-английски не очень хорошо и замечаете текст с ошибками внутри кода. К счастью, эти строки переводимые и их можно изменить с помощью gettext .
Что такое фильтр АГС? Просто о сложном
Смотрим как именно:
<?php add_filter( 'gettext', 'gettext_example', 20, 3 ); function gettext_example( $translated_text, $text, $domain ) { switch ( $translated_text ) { case 'E-meil Adress' : $translated_text = __( 'Email Address', 'plugin_text_domain' ); break; } return $translated_text } // Источник примера http://speakinginbytes.com/2013/10/gettext-filter-wordpress/ ?>Подчищаем текст
WordPress использует функцию с именем sanitize_title() чтобы подчищать заголовки, она заменяет пробелы дефисом и делает их готовыми для использования в качестве названия поста. С помощью фильтра sanitize_title ( да, имя такое же ) вы можете расширить функцию.
Пример: убираем артикль "The" из меток
Хотите избавиться от артикля « The » метках? Смотрите код ниже:
<?php add_filter( 'sanitize_title', 'sanitize_title_example' ); function sanitize_title_example( $title ) { $title = str_replace( '-the-', '-', $title ); $title = preg_replace( '/^the-/', '', $title ); return $title; } ?>Простое и элегантное решение.