WEB制作者向け無料テーマ「Arkhe」をリリースしました

カスタム投稿のタイプの記事のパーマリンクを「記事スラッグ」ではなく「ID」にする方法

デフォルトでは 「ドメイン/ポストタイプスラッグ/記事スラッグ」となっているところを、「ドメイン/ポストタイプスラッグ/投稿ID」というURLに変更するためのコード。

投稿タイプ名が"tips"だとして、functions.phpに以下のように記述

/**
 * 生成されるリンクURLを制御
 */
function my_post_type_link( $link, $post ){
    if ( 'tips' === $post->post_type ) {
        return home_url().'/tips/'.$post->ID;
    } else {
        return $link;
    }
}
add_filter( 'post_type_link', 'my_post_type_link', 1, 2 );

/**
 * リライトルールを追加してIDでのURLをカスタム投稿のURLとして利用可能にする
 */
function my_rewrite_rules_array( $rules ) {
    add_rewrite_rule('tips/([0-9]+)/?$', 'index.php?post_type=tips&p=$matches[1]', 'top');
}
add_filter( 'init', 'my_rewrite_rules_array' );

記述できたら、管理画面からパーマリンク 設定を空更新するのを忘れずに。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA

目次
WordPressテーマ SWELLWordPressテーマ SWELL