Избавиться от категории WordPress, тегов и авторских архивов?


9

Я безуспешно искал в сети то, что должно быть легко.

У меня есть настроенный блог со страницами, подстраницами и постами. Хотя я сильно полагаюсь на использование категорий и тегов, я не хочу, чтобы они отображались в URL. То же самое касается авторов и категорий дат. По сути, я не хочу выдавать ошибку 404, если кто-то пытается получить доступ к этим страницам. Может ли кто-нибудь указать мне правильное направление? Спасибо!

Следующее не должно быть доступным:

example.net/category/books/

example.net/tag/ebooks/

example.net/author/dickens/

example.net/2012/10/

Ответы:


5

Основываясь на ответе chrisguitarguy, здесь приведен быстрый фрагмент, который вы можете вставить в файл functions.php вашей темы, чтобы сделать работу

add_action('template_redirect', 'wpse69948_archive_disabler');
function wpse69948_archive_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

7

Я написал для этого плагин - который нуждается в некотором обновлении, но он все равно должен работать нормально.

По сути, вы подключаетесь где-то поздно после того, как WordPress знает, какая страница запрашивается (например template_redirect), используете одну из условных функций и либо используете, $wp_query->set_404()либо просто перенаправляете пользователя на страницу по вашему выбору.

Чтобы отключить категории, теги, архивы авторов и дат:

<?php
add_action('template_redirect', 'wpse69948_tag_disabler');
function wpse69948_tag_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

Делает работу отлично! Большое спасибо, также за предоставление полезной ссылки на условные функции!
psot

Кажется, это излишне, чтобы иметь это как отдельный плагин. Похоже, что большинство авторов тем должно быть в состоянии сделать это в functions.php или в собственном плагине.
serraosays
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.