Поддержка Проблемы и решения Убрать страницы автора, категории и тегов

  • собственно сабж…
    сайт строго корпоративный потому должны быть доступны только созданные страницы и записи
    все остальные должны отдавать 404
    какой самый простой и правильный способ это сделать?

Просмотр 15 ответов — с 1 по 15 (всего 21)
  • задать noindex не нужному c помощью сео-плагинов

    я хочу их именно отключить. чтобы их не было вообще.
    это корпоративный сайт, в нем есть 10 страниц и все.
    страницу автора отключил через functions.php
    добавив

    function my_custom_disable_author_page() {
        global $wp_query;
    
        if ( is_author() ) {
            $wp_query->set_404();
            status_header(404);
            // Redirect to homepage
            // wp_redirect(get_option('home'));
        }
    }

    а остальное? есть страница категории и тегов, как их отключить? неужели нет плагина убивающего эти ненужные страницы 1 кликом?

    я хочу их именно отключить. чтобы их не было вообще.

    Для этого придется отказаться от использования ВП.

    отключил через functions.php

    не отключил, а перенаправил на 404.

    плагина убивающего

    нет

    если вас устраивает решение с редиректом
    https://ru.wordpress.org/plugins/search/Redirect/

    Измените условие вот так if( is_author() || is_category() || is_tag() )

    Измените условие вот так if( is_author() || is_category() || is_tag() )

    в таком случае он не блокирует все что после /category или /author
    допустим
    site.ru/author 404 а site.ru/author/admin непонятная страница, вроде тоже 404 но с другим шаблоном, с поиском выдающим site.ru/?s=
    поиск тоже надо отключить. нужно отключить вообще все левые страницы
    кроме тех что созданы в разделе страницы и записи

    Тогда идём от обратного if(!is_page || !is_post() || !is_front_page())
    И я надеюсь Вы цепляние за хук template_redirect

    вообще ни за что не цепляюсь. в хуках не шарю. нашел в буржуйнете сие решение но оно меня не удовлетворяет
    код из 3 поста просто вставил в functions.php
    страница автора теперь выдает 404 по шаблону из элементора
    другие страницы выдают тоже 404 но без шаблона элементора, видимо просто из темы. что странно

    function my_custom_disable_author_page() {
        global $wp_query;
    
        if ( !is_page() || !is_post() || !is_front_page()) {
            $wp_query->set_404();
            status_header(404);
            // Redirect to homepage
            // wp_redirect(get_option('home'));
        }
    }
    add_action('template_redirect', 'my_custom_disable_author_page');

    что-то пошло не так
    Ваши изменения в коде PHP были отменены из за ошибки на строке 145 файла wp-

    content/themes/astra/functions.php. Исправьте и попробуйте пересохранить.

    Uncaught Error: Call to undefined function is_post() in wp-content/themes/astra/functions.php:145
    Stack trace:
    #0 wp-includes/class-wp-hook.php(286): my_custom_disable_author_page(»)
    #1 wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array)
    #2 wp-includes/plugin.php(465): WP_Hook->do_action(Array)
    #3 wp-includes/template-loader.php(13): do_action(‘template_redire…’)
    #4 wp-blog-header.php(19): require_once(‘/home/site/ht…’)
    #5 index.php(17): require(‘/home/site/ht…’)
    #6 {main}
    thrown

    • Ответ изменён 2 месяца назад пользователем .

    Извините, уже поздновато или рановато)) вместо is_post() нужно is_single()

    нет опять не то.
    главная страница недоступная теперь… ладно буду искать решение днем)

    function my_custom_disable_author_page() {
        global $wp_query;
    
        if ( is_page() || is_single() || is_front_page()) {
            return;
        }
        
            $wp_query->set_404();
            status_header(404);
            // Redirect to homepage
            // wp_redirect(get_option('home'));
        
    }
    add_action('template_redirect', 'my_custom_disable_author_page');

    Нет возможности протестить всё, но это точно должно решить Ваш вопрос.

    Artem
    да, это помогло спасибо. но теперь другая проблема
    он редиректит на дефолтную страницу 404 а у меня 404 через шаблон элементора цепляется
    это возможно поправить?

    Отказаться от элементор нет никакой возможности? Частенько проблемы с ним.

    к сожалению нет.
    сайт делается для «тупых» без дальнейшего обслуживания. т.е. фирма будет сама творить внутри сайта поэтому юзаю элементор.
    можно конечно обойтись редиректом на главную
    но хочется чтобы было все по фен шую

Просмотр 15 ответов — с 1 по 15 (всего 21)