Как отключить доступ к страницам категорий
Я хочу, чтобы мои категории оставались активными, но при этом сделать страницы категорий недоступными. Возможно ли это? Если да, то как?
Зачем мне это нужно? (Возможно, это поможет понять ситуацию)
Я работаю над UGC-сайтом. Мне нужно изменить URL категорий с /category/cat-name
на /cat-name
. Также требуется добавить страницу /cat-name/add
, где пользователи смогут публиковать контент только в определенной категории. Однако нельзя создать страницу /cat-name/add
, пока не будет существовать страница (не страница категории) /cat-name
. Если я создам страницу /cat-name
, она будет конфликтовать со страницей категории /cat-name
. Поэтому я подумал отключить страницу категории /cat-name
и использовать обычную страницу /cat-name
для вывода постов категории.

category.php - это файл темы, а не ядра. (предполагаю, что вы имели в виду "файлы WP")

Вам потребуется выполнить как минимум два действия (возможно больше, я не продумал это до конца), в самой простой форме:
Запретить вывод ссылок в списках категорий:
Вам нужно будет эмулировать функцию
get_the_category_list()
и создать собственный список категорий без якорей, или же можно просто отфильтровать теги<a>
:add_filter( 'the_category', function ( $thelist, $sep, $parents ) { return strip_tags( $thelist, '<ul><li>' ); } );
Перенаправлять URL категорий куда-то.
category.php
<?php wp_redirect( home_url() );
