¿Cómo obtengo el permalink de un tipo de entrada personalizada?
Puedo obtener el permalink de una etiqueta o categoría específica, pero ¿qué pasa si quiero obtener el permalink de un tipo de entrada personalizada? No puedo encontrar nada en el Codex ni en ningún otro lugar sobre cómo hacer esto.

¿Qué tal href="<?php echo get_post_type_archive_link( $post_type ); ?>"
, donde $post_type
es tu tipo de entrada?
Lectura adicional: Codex

Dentro del bucle (loop), puedes usar simplemente the_permalink()
. Fuera del bucle, puedes utilizar get_permalink( $id )
.

Eso devuelve el enlace permanente de una publicación o página específica. Quiero devolver el enlace permanente de un tipo de publicación. Por ejemplo, si hay un tipo de publicación llamado "reseñas de películas", y el enlace permanente de ese tipo de publicación es "www.website.com/movie-reviews", ¿cómo obtengo ese enlace? Tal vez esto no sea técnicamente un verdadero enlace permanente, solo quiero la URL de ese tipo de publicación.

O, por lo que vale, get_term_link($term, $taxonomy);
- Códice.

Sé que esta publicación puede ser antigua, pero por si alguien más está buscando la función que hace esto, aquí está la que escribí. $post_type debe pasarse como una variable :)
if( !function_exists( 'wp_get_post_type_link' ) ){
function wp_get_post_type_link( &$post_type ){
global $wp_rewrite;
if ( ! $post_type_obj = get_post_type_object( $post_type ) )
return false;
if ( get_option( 'permalink_structure' ) && is_array( $post_type_obj->rewrite ) ) {
$struct = $post_type_obj->rewrite['slug'] ;
if ( $post_type_obj->rewrite['with_front'] )
$struct = $wp_rewrite->front . $struct;
else
$struct = $wp_rewrite->root . $struct;
$link = home_url( user_trailingslashit( $struct, 'post_type_archive' ) );
} else {
$link = home_url( '?post_type=' . $post_type );
}
return apply_filters( 'the_permalink', $link );
}
}
¡Espero que ayude! :)
