Как отключить отображение пользовательского типа записей на фронтенде

30 нояб. 2012 г., 16:27:47
Просмотры: 13.8K
Голосов: 11

Я использую пользовательский тип записей на одном из своих сайтов для слайд-шоу изображений. У меня установлено publicly_queryable в false/off, но когда Google сканирует мой сайт, я вижу 404 ошибки для URL моих слайд-шоу. Я думал, что при отключенном publicly_queryable WordPress не будет создавать эти URL для фронтенда.

Как я могу полностью отключить URL и страницы моего пользовательского типа записей на фронтенде?

РЕДАКТИРОВАНИЕ

Добавив 'public' => false, 'has_archive' => false, 'publicly_queryable' => false и 'query_var' => false, я успешно избавился от 404 ошибок в Google. Я также добавил функцию, предоставленную @Norcross, для дополнительной уверенности.

4
Комментарии

Какой у вас URL?

s_ha_dum s_ha_dum
1 дек. 2012 г. 17:41:41

как редактировать пользовательские типы записей с такими настройками? Public false означает, что я не могу редактировать их в админке

Laurence Cope Laurence Cope
4 мар. 2016 г. 16:46:46

Для редактирования в админке, похоже, нужно public => true, затем у вас опечатка, чтобы записи не отображались на фронтенде - должно быть publicly_queryable

Laurence Cope Laurence Cope
4 мар. 2016 г. 16:50:57

!!!! Внимание !!! Здесь опечатка, должно быть 'publicly_queryable', а не 'publicaly_queryable'

Tofandel Tofandel
6 авг. 2018 г. 17:49:21
Все ответы на вопрос 4
1

Ещё один вариант — настроить 301 редирект для всех записей типа slideshow (CPT), чтобы они перенаправлялись куда-то (например, на главную страницу). Это будет учтено Google, а также предотвратит случайный доступ пользователей к этим страницам

function rkv_slideshow_redirect() {
    global $wp_query;

    // редирект с типа записи 'slideshow' на главную страницу
    if ( is_post_type_archive('CPT_NAME_HERE') || is_singular('CPT_NAME_HERE') ) :
        $url   = get_bloginfo('url');

        wp_redirect( esc_url_raw( $url ), 301 );
        exit();
    endif;
}

add_action ( 'template_redirect', 'rkv_slideshow_redirect', 1);
2 дек. 2012 г. 18:23:26
Комментарии

Спасибо! Все мои ошибки 404 в Google для слайд-шоу теперь исчезли. Я добавил параметры public => false, has_archive => false и publicly_queryable => false, и они больше не отображаются как ошибки 404. Также я добавил предоставленный вами код в файл functions.php "на всякий случай". Ещё раз спасибо!

dkmojo dkmojo
3 дек. 2012 г. 19:36:55
1

Модификация вашего исходного вопроса: вам следует добавить

'exclude_from_search' => true,

Если это не будет добавлено, пользовательский тип записи (CPT) будет появляться в результатах поиска.

8 сент. 2015 г. 13:04:22
Комментарии

https://developer.wordpress.org/reference/functions/register_post_type/: exclude_from_search (bool) Исключать ли записи этого типа публикаций из результатов поиска на фронтэнде. По умолчанию принимает значение, противоположное $public.

Erenor Paz Erenor Paz
5 апр. 2017 г. 13:14:36
1

Похоже, что ваш слайд-шоу, а не WordPress, раскрывает эти URL. Предполагаю, что он оборачивает изображения в слайд-шоу ссылками на пользовательские записи, чего вы не хотите. Вам нужно отредактировать слайд-шоу, чтобы оно этого не делало.

30 нояб. 2012 г. 16:43:00
Комментарии

Слайд-шоу использует wp_get_attachment_image_src для загрузки изображений в цикле, поэтому нет ссылки на пользовательский тип записи слайд-шоу. Я только что установил параметр "public" в моем методе регистрации пользовательского типа записи в false. Посмотрим, поможет ли это. Спасибо за ваши комментарии!

dkmojo dkmojo
1 дек. 2012 г. 17:39:40
1

Пожалуйста, сбросьте или измените постоянные ссылки и сохраните. Панель управления -> Настройки -> Постоянные ссылки -> Измените или сбросьте, затем сохраните настройки.

20 июн. 2021 г. 17:43:23
Комментарии

Не уверен, что это поможет в данном случае? Кажется, WordPress не использует кеш постоянных ссылок для их создания, а только для их маршрутизации.

Rup Rup
24 июн. 2021 г. 02:08:51