回答:
これは、投稿IDを使用してカスタム投稿タイプのURLを書き換えるために使用するものです。URLリクエストを変換するための書き換えルールと、post_type_link
への呼び出しに対して正しいURLを返すためのフィルターが必要です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' );
}