うさぎのイラスト

ネットアンサー55備忘録

web技術を書いていきます

カスタムポストのパーマリンクを投稿IDにする

-2016年10月20日-
カスタムポストのパーマリンクを投稿IDにする
カスタム投稿タイプ使用時のパーマリンクをPostnameからPost_Idにする(2)【カスタム投稿タイプが複数の場合】
スラッグ名が/news/の場合は下記のように記述する
//カスタムポストのパーマリンクを投稿IDにする

function myposttype_permalink($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($post->post_type);
    $newlink = str_replace('%'.$post->post_type.'%', $post->ID, $newlink);
    $newlink = home_url(user_trailingslashit($newlink));
    return $newlink;
}
add_filter('post_type_link', 'myposttype_permalink', 1, 3);


function myposttype_rewrite() {
    global $wp_rewrite;
    $wp_rewrite->add_rewrite_tag('%news%', '([0-9]+)', 'post_type=news&p=');
}
add_action('init', 'myposttype_rewrite');