新潟県妙高市|ホームページと広告の相談相手

妙高Web屋

お仕事のご依頼お見積りのご依頼

WordPress

カスタム投稿タイプのパーマリンク形式を変更する方法【WordPress】

2019.1.31

カスタム投稿タイプのパーマリンク形式を変更する方法【WordPress】
WordPress 0 0

こちらの記事は、このような方におすすめです。

カスタム投稿タイプを使用したWordPressサイトで、日本語URLを使用したくないとお考えの方。
※特に「URLの形式は日本語以外なら特にこだわらない」という場合におすすめです。

WordPressでホームページ制作をしていると、カスタム投稿タイプを使用してコンテンツを更新する場合があります。

このカスタム投稿タイプの個別記事ですが、デフォルトではカスタム投稿タイプのURLは「記事タイトル」が含まれます。

つまり、記事タイトルに日本語を含んでいる場合は、日本語を含んだパーマリンク形式になるのです。

それで問題ない場合は良いのですが、日本語のURLはコピー&ペーストすると文字形式が変換されて、URLが長くなりがちです。

そう思ってWordPressの設定画面の「パーマリンク設定」で形式を選択したところで、投稿には反映されても、カスタム投稿タイプには反映されません。

そこで今回ご紹介するのが、カスタム投稿タイプのパーマリンクに「投稿ID」を含めた形式にする方法です。

この記事の目次

【手順】カスタム投稿タイプのパーマリンクに投稿IDを含める方法

下記が、カスタム投稿タイプのパーマリンクに投稿IDを含めるための手順です。

【手順1】特定のコードを[functions.php]に追記する

テーマにもよりますが、カスタム投稿タイプをご自身で追加された場合は[functions.php]にcreate_post_type関数というものを記述されているかと思います。

まずは、そのcreate_post_type関数の直後に特定のコード(※後述)を追記します。

【手順2】パーマリンク設定の[カスタム構造]に[/%post_id%/]を入力する

次に、WordPressの管理画面の[設定]内にある[パーマリンク設定]を選択し、[共通設定]の中から[カスタム構造]を選択します。

さらに、[カスタム構造]内のテキストボックスに[/%post_id%/]を入力して、保存してください。

ページの先頭へ戻る

【結論】カスタム投稿タイプの形式を変更するためfunctions.phpに加えるコード

さて、上記の【手順1】で入力するのは下記のコードです。

これが、カスタム投稿タイプのパーマリンク設定で投稿IDを指定するための設定となります。

add_filter('post_type_link', 'my_post_type_link', 1, 2 );
function my_post_type_link($link, $post){
if ('custom_post' === $post->post_type) {
return home_url('/custom_post/' . $post->ID);
} else {
return $link;
}
}
add_filter('rewrite_rules_array', 'my_rewrite_rules_array');
function my_rewrite_rules_array($rules) {
$new_rules = array('custom_post/([0-9]+)/?$' => 'index.php?post_type=custom_post&p=$matches[1]',);
return $new_rules + $rules;
}

ページの先頭へ戻る

参考サイト

こちらの記事を書くうえで、下記のページを参考にさせていただきました。

ありがとうございました。

ページの先頭へ戻る

こちらの記事に感想をお寄せください

こちらの記事をご覧いただき、感じたことなどありましたら下記のボタンを押していただき「感想投稿フォーム」よりお気軽にご感想をお寄せください。

この記事の感想を投稿する
0 0

Facebookページも随時更新中!

妙高Web屋のFacebookページでは、おもにホームページの管理・更新をされている方に少しでもお役に立てる情報を提供していこうと考えております。

Facebookページへの「いいね!」をいただければ、お使いのFacebookアカウントのタイムラインに妙高Web屋からの最新情報が表示されるようになります。

お気軽に「いいね!」してください。

目的のページは見つかりましたか?

お探しのページが見当たらない場合は、キーワードを手がかりに、サイト内検索をご利用ください。

または、下記のボタンより「サイトマップ」のページにアクセスしていただき、お探しください。

目的のページは見つかりましたか?
Twitterでシェアする Twitterでシェアする Facebookでシェアする Facebookでシェアする Feedlyで購読する Feedlyで購読する お問い合わせお問い合わせ ページの先頭へページの先頭へ