ねえ、これは私を殺している !
「features」というカスタム投稿タイプがあります。
そのアーカイブ ページは現在、 mysite.com /features/ から参照できます。
現在、単一の機能は mysite.com/features/single-post/にあります。
ただし、mysite.com/feautres/ 23423 /single-post/で単一の機能を利用できるようにしたいと考えています。
つまり、$post->ID が URL に追加されます。
これはフロントエンドで機能し、正しく書き換えられていますが、WordPress 管理者ではリンクが mysite.com/feautres/%cpt_id%/single-post/として表示されています。
これがこれまでのコードです。
add_filter('post_type_link', 'cpt_url', 1, 3);
function cpt_url($post_link, $id = 0, $leavename) {
global $wp_rewrite;
$post = &get_post($id);
if ( is_wp_error( $post ) )
return $post;
$newlink = $wp_rewrite->get_extra_permastruct('features');
$newlink = str_replace("%postid%", $post->ID, $newlink);
$newlink = home_url(user_trailingslashit($newlink));
return $newlink.$post->post_name.'/';
}
add_action('init', 'add_custom_rewrites');
function sumo_add_custom_rewrites(){
global $wp_rewrite;
//rewrites for feature
$queryarg = 'post_type=features&p=';
$wp_rewrite->add_rewrite_tag('%postid%', '([^/]+)', $queryarg);
$wp_rewrite->add_permastruct('features', '/features/%postid%', false);
}
何が間違っているのですか?