Як управляти переадресацією в wordpress за допомогою фільтрів
Новачкам в міреWordPress буває важко в повній мірі зрозуміти, наскільки різним і податливим може бути WordPress. Звичайно, вам доступні буквально десятки тисяч тим і плагінів і, напевно, здається, що WordPress майже безмежний, але якщо ви нічого не знаєте про action- і filter-хуках, то будете здивовані наскільки більше ви можете зробити за допомогою цієї дивовижної системи управління контентом .

Як налаштувати WordPress за допомогою хуков Actions і Filters
Прочитавши вступ, ви напевно думаєте, що ми перебільшуємо. Можемо вас запевнити, що немає. Без тіні сумнівів, хукі є основною причиною такої гнучкості WordPress. Без системи хуков, не тільки теми були б більш «жорсткими», а й, що важливіше, багатьох плагінів WordPress б просто не існувало. Розробники придумували б менше плагінів і тим, а світ WordPress був би черговий нудною системою управління контентом.
Сенс назви хуков (з англійської - гаки, зачіпки) дуже навіть правильний. Вони як би чіпляються за певні функції WordPress. Хукі дії (Actions) виконують функції до або після певної дії, а хукі фільтрів (Filters) обробляють дані перед їх висновком. (У цій статті ми сфокусуємось на фільтрах.) Ось чому більшість плагінів в управлінні WordPress покладаються на хукі, а в темах створюються власні хукі для інших плагінів, щоб дозволити їм розширювати теми.
Якщо ви хочете дізнатися більше про дії і фільтрах WordPress, у нас є статті на цю тему: 50 Filters of WordPress і 50 Actions of WordPress.
Примітка: Ви можете використовувати фрагменти коду з цієї статті в файлі functions.php вашої теми, щоб швидше навчитися використовувати хукі, але не найкращою ідеєю буде редагувати файли теми для поліпшення функціональних можливостей. Замість цього, краще створити плагін спеціально під вашу тему.
Перенаправлення користувачів після успішної реєстрації
Припустимо, ви хочете представити технічні характеристики вашого продукту новим користувачам. Використовуючи представлений нижче фрагмент коду, ви можете відправити користувача на сторінку з посиланням для їх скачування:
Відредагуйте «white-paper» на префікс своєї сторінки і готово!
Перенаправлення користувачів після входу і виходу з системи
У наступному прикладі ми перевіримо роль користувача і переспрямуємо тільки передплатників до початкової сторінки:
Таку ж функцію має і фільтр logout_redirect. Тільки замість відправки користувачів до початкової сторінки, ви можете відправити їх до «прощальної» сторінці, де вони зможуть підтвердити вихід:
Перенаправлення користувачів після скидання пароля
Для більшості веб-сайтів WordPress повідомлення «Перевірте вашу поштову скриньку і перейдіть за посиланням, зазначеної в листі» цілком достатньо, але якщо вам потрібно додати інформацію про зміну пароля (наприклад: «Перевірте папку спам» або «Зателефонуйте за цим номером, якщо ви не отримали лист »), ви можете відправити користувача на спеціальну сторінку:
Перенаправлення користувачів після використання «Press This»
На щастя, ми можемо змінити це за допомогою фільтрів press_this_redirect_in_parent і press_this_save_redirect. Використання наступного коду змусить інструмент «Press This» закрити спливаючі вікна (перший фільтр) і поверне вас на початкову сторінку вашого сайту (другий фільтр):
Маленька підказка: Ви помітили, що ми використовуємо анонімну функцію? Ви можете створити анонімну функцію PHP. якщо ваш сервер працює з PHP від версії 5.3.0.
Система хуков є одним з найбільш функціональних властивостей WordPress, і допомагає створювати величезну кількість відмінних плагінів і тем. Чи не побоїмося сказати, що без хуков дій і фільтрів WordPress навряд чи використовувався б для створення кожного четвертого веб-сайту. І хочемо подякувати того, кому в голову прийшла ця ідея.
Джерело: code.tutsplus.com




