Cómo configurar un tipo de publicación personalizada para que no aparezca en el front-end

30 nov 2012, 16:27:47
Vistas: 13.8K
Votos: 11

Utilizo un tipo de publicación personalizada en uno de mis sitios para galerías de imágenes. Tengo configurado publicly_queryable como false/off, pero cuando Google rastrea mi sitio veo errores 404 para las URLs de mis galerías. Pensé que al tener publicly_queryable desactivado WordPress no crearía esas URLs en el front-end.

¿Cómo puedo desactivar completamente las URLs y páginas del front-end para mi tipo de publicación personalizada?

EDITADO

Al agregar 'public' => false, 'has_archive' => false, 'publicly_queryable' => false, y 'query_var' => false he logrado eliminar los errores 404 en Google. También añadí la función proporcionada por @Norcross por si acaso.

4
Comentarios

¿Cuál es tu URL?

s_ha_dum s_ha_dum
1 dic 2012 17:41:41

¿cómo editas los tipos de entradas personalizadas con esas configuraciones? Public false significa que no puedo editarlo en el administrador

Laurence Cope Laurence Cope
4 mar 2016 16:46:46

Para editar en el administrador parece que necesitas public => true, luego tienes un error tipográfico para que no sea visible en el front-end, debería ser publicly_queryable

Laurence Cope Laurence Cope
4 mar 2016 16:50:57

¡¡¡¡ Atención !!!! Hay un error tipográfico, debería ser 'publicly_queryable' no 'publicaly_queryable'

Tofandel Tofandel
6 ago 2018 17:49:21
Todas las respuestas a la pregunta 4
1

Otra opción sería configurar un redireccionamiento 301 para todos los CPT de la galería de imágenes para redirigir a algún lugar (como la página de inicio). Esto sería detectado por Google y también aseguraría que nadie acceda accidentalmente a ellos

function rkv_slideshow_redirect() {
    global $wp_query;

    // redirección desde el CPT 'slideshow' a la página de inicio
    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 dic 2012 18:23:26
Comentarios

¡Gracias! Todos mis errores 404 de presentaciones en Google han desaparecido. Añadí public => false, has_archive => false y publicly_queryable => false y ya no aparecen como errores 404. También agregué el código que proporcionaste a mi archivo functions.php "por si acaso". ¡Gracias de nuevo!

dkmojo dkmojo
3 dic 2012 19:36:55
1

Una modificación a tu pregunta original, deberías agregar

'exclude_from_search' => true,

Si no se agrega esto, el CPT aparecerá en los resultados de búsqueda.

8 sept 2015 13:04:22
Comentarios

https://developer.wordpress.org/reference/functions/register_post_type/: exclude_from_search (bool) Si se deben excluir las publicaciones de este tipo de contenido de los resultados de búsqueda en el front-end. Por defecto es el valor opuesto de $public.

Erenor Paz Erenor Paz
5 abr 2017 13:14:36
1

Al parecer, tu presentación de diapositivas, no WordPress, está mostrando esas URLs. Supongo que está envolviendo las imágenes en la presentación con enlaces a las entradas personalizadas, lo cual no deseas. Necesitas editar la presentación de diapositivas para que no haga eso.

30 nov 2012 16:43:00
Comentarios

El carrusel utiliza wp_get_attachment_image_src para cargar las imágenes dentro de un bucle, por lo que no hay enlace al tipo de entrada personalizado del carrusel. Acabo de establecer el parámetro "public" en mi método de registro de tipo de entrada personalizado como falso. Veré si eso ayuda. ¡Gracias por tu aporte!

dkmojo dkmojo
1 dic 2012 17:39:40
1

Por favor, actualiza o cambia el enlace permanente y guarda. Panel de control -> Ajustes -> Enlaces permanentes -> Cambiar o actualizar y luego guardar configuración.

20 jun 2021 17:43:23
Comentarios

¿No estoy seguro de que eso ayude aquí? No creo que WordPress use la caché de enlaces permanentes para crear URLs, solo para enrutarlas.

Rup Rup
24 jun 2021 02:08:51