Cómo deshabilitar el acceso a las páginas de categoría

9 sept 2014, 12:18:50
Vistas: 16.4K
Votos: 2

Quiero que mis categorías estén activas pero al mismo tiempo deseo que las páginas de categoría sean inaccesibles. ¿Es posible? Si es así, ¿cómo?

¿Por qué quiero hacer esto? (Posiblemente esto pueda ayudar)

Estoy trabajando en un sitio web de contenido generado por usuarios (UGC). Me han pedido cambiar /category/cat-name a /cat-name. También me han solicitado agregar otra página /cat-name/add donde los usuarios puedan publicar solo en una categoría específica. No es posible agregar la página /cat-name/add hasta que cree una página (no la página de categoría) /cat-name. Si creo una página /cat-name, entrará en conflicto con la página de categoría /cat-name. Por eso pensé en deshabilitar la página de categoría /cat-name y usar una página normal en /cat-name para listar los posts de la categoría.

4
Comentarios

¿Quieres que las categorías estén activas para la organización en el backend del sitio web, pero no activas en el frontend? Podría ayudar agregar un poco más de detalle a tu problema.

Chris Morris Chris Morris
9 sept 2014 12:32:02

@ChrisMorris, ¿la actualización ayudó? Y... está bien si las páginas de categoría no son accesibles en el backend...

Tabrez Ahmed Tabrez Ahmed
9 sept 2014 12:49:30

Leer tus otras publicaciones dio un poco de clarificación. Aunque no estoy seguro del objetivo final que buscas. ¿Qué es lo que estás tratando de construir?

Chris Morris Chris Morris
9 sept 2014 12:53:40

@ChrisMorris, Espero que la actualización de la pregunta responda a tu duda.

Tabrez Ahmed Tabrez Ahmed
9 sept 2014 13:20:39
Todas las respuestas a la pregunta 2
4

Puedes agregar algo como esto en tu archivo category.php.

if ( ! is_admin() ) {
     wp_redirect( home_url() );
     exit;
}

Esto redirigirá a los visitantes a la página de inicio del sitio, pero las páginas de categoría seguirán activas y accesibles solo para los administradores.

9 sept 2014 12:28:15
Comentarios

editar archivos de wp no es lo que tengo permitido . . . .

Tabrez Ahmed Tabrez Ahmed
9 sept 2014 12:52:12

Espero que la actualización de la pregunta ayude . . .

Tabrez Ahmed Tabrez Ahmed
9 sept 2014 12:52:28

category.php es un archivo del tema, no un archivo principal. (asumiendo que a eso te refieres con "archivos de wp")

totels totels
9 sept 2014 12:56:12

Ups, lo siento. Pero pensé que implementaría una solución entre temas.

Tabrez Ahmed Tabrez Ahmed
9 sept 2014 13:24:32
0

Necesitarás hacer al menos dos cosas (posiblemente más, no lo he pensado completamente), en su forma más simple:

  1. Evitar que las listas de categorías generen enlaces:

    Necesitarías emular get_the_category_list() y construir tu propia lista de categorías sin anclas, o probablemente podrías simplemente filtrar las etiquetas <a>:

    add_filter( 'the_category', function ( $thelist, $sep, $parents ) {
      return strip_tags( $thelist, '<ul><li>' );
    } );
    
  2. Redirigir las URLs de categoría a otro lugar.

    category.php

    <?php wp_redirect( home_url() );
    
9 sept 2014 12:54:29