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