Come riscrivere l'URI di un tipo di post personalizzato?
12 nov 2011, 02:13:52
Visualizzazioni: 29.3K
Voti: 17
Il sito su cui sto lavorando utilizza la seguente struttura "gradevole" per i permalink:
http://example.com/blog/my-special-post
Ma per un tipo di post personalizzato il mio cliente vorrebbe evitare di avere uno slug "gradevole":
http://example.com/product/142
Come si può utilizzare l'ID del post al posto dello slug per il tipo di post personalizzato?
Credo che questo possa essere possibile utilizzando WP_Rewrite, ma non so da dove iniziare.

Lea Hayes
273
Tutte le risposte alla domanda
1
1
Ecco ciò che utilizzo per riscrivere gli URL dei custom post type con l'ID del post. È necessaria una regola di riscrittura per tradurre le richieste degli URL, oltre a un filtro su post_type_link
per restituire gli URL corretti per qualsiasi chiamata a 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
Domande correlate