Один из хуков WP в котором мы можем выполнить редирект, это “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.
На этом все.