Parece una pregunta estúpida. Pero, no puedo entenderlo :(.
Necesito mostrar el botón en casa que va a la URL del archivo personalizado post_type (archive- {post_type} .php). ¿Cómo puedo hacer eso?
custom-post-types
templates
ariefbayu
fuente
fuente
yoursite.com/type-slug
menos que la establezca explícitamente en otra cosa, por ejemplo.yoursite.com/some-other-url
..Respuestas:
Hola @Silent:
Resulta que hay una función en WordPress 3.1 que hace exactamente lo que quieres y se llama
get_post_type_archive_link()
; así es como lo llamarías (suponiendo un tipo de publicación personalizado llamado'product'
):A continuación se muestra mi respuesta anterior antes de descubrir que WordPress tenía una función incorporada para este caso de uso.
Respuesta previa:
A menos que haya pasado por alto algo en el código fuente principal de WordPress 3.1, creo que está buscando una función como la
get_archive_link()
que podría llamar de esta manera (suponiendo un tipo de publicación personalizado llamado'product'
):Y aquí está el código fuente que puede colocar en el
function.php
archivo de su tema o en un.php
archivo para un complemento que podría estar escribiendo:De hecho, estuve trabajando en esta lógica exacta durante el fin de semana, aunque todavía no estoy 100% seguro de que el orden de la lógica sea genéricamente correcto en todos los casos de uso que WordPress pueda ver, aunque probablemente funcionará para cualquier sitio específico.
Esto también es una gran cosa para sugerir que se agregue a WordPress a través de trac, lo que creo que haré más tarde esta noche.
fuente
cuando registre el tipo de publicación, puede pasar una cadena como babosa con el parámetro "has_archive" y asegurarse de que también establece reescribir en verdadero o en una matriz, pero no en falso, y luego su URL de archivo CPT sería http://www.YOURDOMAIN.com / has_archive_slug por ejemplo
si configura en su register_post_type, por ejemplo:
entonces su url única es: http://www.YOURDOMAIN.com/product/postName y su url de archivo es: http://www.YOURDOMAIN.com/products/
fuente
has_archive
era un booleano, pero ahora sé que se le puede dar una cadena, por lo que mi tipo de publicación personalizada singularrecipe
puede tener una babosa plural/recipes/
'rewrite'
solo acepta un valor booleano o de matriz. En lugar de lo'rewrite' => 'product',
que ha enumerado, debería serlo'rewrite' => array( 'slug' => 'product' ),
.