Cum obțin permalink-ul unui tip de postare personalizat?
Pot obține permalink-ul pentru o etichetă sau categorie specifică, dar ce se întâmplă dacă vreau să obțin permalink-ul unui tip de postare personalizat? Nu pot găsi nimic în Codex sau în altă parte despre cum să fac acest lucru.

Cum ar fi href="<?php echo get_post_type_archive_link( $post_type ); ?>"
, unde $post_type
reprezintă tipul tău de postare?
Lectură suplimentară: Codex

În cadrul buclei, puteți folosi simplu the_permalink()
. În afara buclei, puteți utiliza get_permalink( $id )
.

Aceasta returnează legătura permanentă a unui articol sau pagină specifică. Eu doresc să returnez legătura permanentă a unui tip de postare. De exemplu, dacă există un tip de postare numit "recenzii de filme", iar legătura permanentă a acelui tip de postare este "www.website.com/movie-reviews", cum pot obține acea legătură? Poate că din punct de vedere tehnic aceasta nu este o adevărată legătură permanentă, eu doresc doar URL-ul acelui tip de postare.

Sau, pentru ceea ce merită, get_term_link($term, $taxonomy);
- Codex.

Știu că acest articol poate fi vechi, dar în caz că cineva caută funcția care face asta, iată ce am scris eu. Variabila $post_type trebuie transmisă:
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 );
}
}
Sper că vă ajută! :)
