デフォルトの「投稿」のURLをカスタマイズする
目次
今回やりたいこと
WordPressには「投稿」という機能がついており、ニュース記事やブログ記事など、さまざまな投稿に使用することができます。
URLにこだわりのない場合だと、そのままで特に問題ないのですが、このデフォルトの投稿記事ページのURLはhttps://xxxxxxx.jp/投稿名/のように、ドメイン直下に投稿名がきてしまいます。
ニュース記事やブログ記事なら、https://xxxxxxx.jp/news/投稿名/やhttps://xxxxxxx.jp/blog/投稿名/のようにしたいという場合も少なくないかと思います。
管理画面のパーマリンクの変更設定で変更することも可能ですが、これを変更してしまうとカスタム投稿がある場合にそのURLも併せて変わってしまいます。
今回は別の方法で任意の文字列を挟んだURLに変更する方法をご紹介します。
functions.php
functions.phpに以下を記述します。「news」となっている部分を任意の文字に変更するだけでOKです。
// ==========================================================================
// デフォルトの投稿 URL リライト
// ==========================================================================
function add_article_post_permalink($permalink)
{
$permalink = '/news' . $permalink;
return $permalink;
}
add_filter('pre_post_link', 'add_article_post_permalink');
function add_article_post_rewrite_rules($post_rewrite)
{
$return_rule = array();
foreach ($post_rewrite as $regex => $rewrite) {
$return_rule['news/' . $regex] = $rewrite;
}
return $return_rule;
}
add_filter('post_rewrite_rules', 'add_article_post_rewrite_rules');
これでhttps://xxxxxxx.jp/news/投稿名/にアクセスすると記事が見れることを確認できました。