Cum se rescrie URI-ul pentru un tip de postare personalizat?
12 nov. 2011, 02:13:52
Vizualizări: 29.3K
Voturi: 17
Site-ul la care lucrez folosește următoarea structură de permalink "frumoasă":
http://example.com/blog/my-special-post
Dar pentru un tip de postare personalizat, clientul meu ar dori să evite folosirea unui slug "frumos":
http://example.com/product/142
Cum poate fi folosit ID-ul postării în locul slug-ului pentru tipul de postare personalizat?
Cred că acest lucru ar putea fi posibil folosind WP_Rewrite, dar nu știu de unde să încep.

Lea Hayes
273
Toate răspunsurile la întrebare
1
1
Aceasta este soluția pe care o folosesc pentru a rescrie URL-urile unui tip de postare personalizat cu ID-ul postării. Ai nevoie de o regulă de rescriere (rewrite rule) pentru a traduce cererile de URL, precum și de un filtru pe post_type_link
pentru a returna URL-urile corecte pentru orice apel către get_post_permalink()
:
add_filter('post_type_link', 'wpse33551_post_type_link', 1, 3);
function wpse33551_post_type_link( $link, $post = 0 ){
if ( $post->post_type == 'product' ){
return home_url( 'product/' . $post->ID );
} else {
return $link;
}
}
add_action( 'init', 'wpse33551_rewrites_init' );
function wpse33551_rewrites_init(){
add_rewrite_rule(
'product/([0-9]+)?$',
'index.php?post_type=product&p=$matches[1]',
'top' );
}

Milo
78.9K
12 nov. 2011 04:19:47
Întrebări similare
1
răspunsuri
2
răspunsuri