Як вимкнути сингл сторінку для кастомного пост тайпу

Як вимкнути сингл сторінку для кастомного пост тайпу

Один із хуків 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.

На цьому все.

З вашим WordPress сайтом проблеми? потрібний додатковий функціонал? нестандартний плагін чи згорнути нову сторінку?
Тоді напишіть мені через форму зворотного зв'язку, і я намагатимусь вам допомогти.

Напишіть коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *