Один із хуків WordPress, у якому ми можемо виконати редирект, це “template_redirect”. У ньому ми розмістимо нашу перевірку і виконаємо перенаправлення на головну сторінку.
add_action('template_redirect', function()
{
if(is_singular('fruit'))
{
wp_redirect( home_url(), 301 );
exit;
}
});Використовуючи умову if та WP-тег “is_singular”, ми перевіряємо, чи знаходиться користувач на сторінці одного запису типу “фрукти/fruit”. Якщо це так — використовуємо функцію wp_redirect, передаючи їй першим параметром посилання на головну сторінку, а другим — код заголовка.
Альтернативний варіант реалізації:
add_filter('single_template', function($template)
{
global $post;
if($post -> post_type == 'fruit' && $post -> ID == 56)
{
wp_redirect( home_url(), 301 );
exit;
}
return $template;
});У цьому випадку ми використовуємо фільтр “single_template”, і можемо не лише виконати редирект, але й, за бажання, змінити шаблонний файл, який відповідає за виведення сторінки поста.
Зверніть увагу, що ми трохи ускладнили умову, і тепер редирект виконується лише для поста з ID, що дорівнює 56.
На цьому все.
