Por qué has_archive=false en el tipo de post por defecto
6 jun 2012, 14:42:46
Vistas: 16.3K
Votos: 6
En el tipo de publicación por defecto post
, ¿por qué la propiedad has_archive
es igual a FALSE
?
$type_obj = get_post_type_object('post');
var_dump($type_obj->has_archive); // FALSO

bpierre
163
Comentarios
Todas las respuestas a la pregunta
1
1
Respuesta tardía.
has_archive
aplica solo para los argumentos de rewrite
.
En detalle
Si has_archive
está configurado como true
, entonces $archive_slug
se establecerá según el argumento rewrite['slug']
. Si además está configurado un argumento rewrite['with_front']
, este se antepondrá. El resultado de esto se añadirá como regla de reescritura:
add_rewrite_rule( "{$archive_slug}/?$", "index.php?post_type=$post_type", 'top' );
Si feeds
está configurado como true y has_archive
también, entonces también obtendrás reglas de reescritura para feeds:
add_rewrite_rule( "{$archive_slug}/feed/$feeds/?$", "index.php?post_type=$post_type" . '&feed=$matches[1]', 'top' ); add_rewrite_rule( "{$archive_slug}/$feeds/?$", "index.php?post_type=$post_type" . '&feed=$matches[1]', 'top' );
El mismo principio aplica para rewrite['pages']
:
add_rewrite_rule( "{$archive_slug}/{$wp_rewrite->pagination_base}/([0-9]{1,})/?$", "index.php?post_type=$post_type" . '&paged=$matches[1]', 'top' );
En resumen:
Si no tienes has_archive
configurado como true
, entonces cualquier intento de añadir reescrituras para feeds
, pages
o archivos terminará con un gran ?
.

kaiser
50.8K
14 jun 2012 14:06:24
Preguntas relacionadas
3
respuestas
1
respuestas
4
respuestas
5
respuestas