topblogパーマリンクのカスタマイズ

パーマリンクのカスタマイズ

コーディング

php

wordpress

パーマリンクのカスタマイズ

ワードプレスのパーマリンク設定は色々カスタマイズできますが、おおまかな設定のみで物足りないところもあります。今回やりたかったことは個別投稿ページのURLをhoge.com/blog/投稿名/というカタチ。これを実現するにはカスタムパーマリンクの設定リライトルールの追加が必要となります。

カスタムパーマリンクの設定

まず、投稿タイプが「post」の場合に、URLを/blog/投稿名/という形式に変更する方法を見ていきましょう。以下のコードをテーマのfunctions.phpファイルに追加します。

function custom_post_permalink($permalink, $post, $leavename) {
    if ($post->post_type == 'post') {
        $permalink = home_url('/blog/' . $post->post_name . '/');
    }
    return $permalink;
}
add_filter('post_link', 'custom_post_permalink', 10, 3);

このコードでは、post_linkフィルターを使用して、投稿のパーマリンクをカスタマイズしています。具体的には、投稿タイプが「post」の場合、パーマリンクを「/blog/投稿名/」という形式に変更しています。

コードの詳細

custom_post_permalink関数

  • $permalink:元のパーマリンク。
  • $post:投稿オブジェクト。
  • $leavename:投稿名をそのまま使用するかどうか。
  • 条件分岐で投稿タイプが「post」の場合、パーマリンクをhome_url('/blog/' . $post->post_name . '/')に変更。

add_filter(‘post_link’, ‘custom_post_permalink’, 10, 3)

  • post_linkフィルターを使って、custom_post_permalink関数を呼び出し、パーマリンクをカスタマイズ。

リライトルールの追加

次に、カスタムパーマリンクに対応するリライトルールを追加します。以下のコードを同じくfunctions.phpファイルに追加します。

function custom_rewrite_rules() {
    add_rewrite_rule(
        '^blog/([^/]+)/?$',
        'index.php?name=$matches[1]',
        'top'
    );
}
add_action('init', 'custom_rewrite_rules');

このコードでは、initアクションフックを使って、カスタムリライトルールを追加しています。リライトルールにより、/blog/投稿名/形式のURLをWordPressが正しく解釈し、対応する投稿ページを表示できるようにします。

コードの詳細

custom_rewrite_rules関数

  • add_rewrite_rule:新しいリライトルールを追加するための関数。
  • 'top':新しいルールをリライトルールの先頭に追加。
  • '^blog/([^/]+)/?$':URLのパターン。「blog」ディレクトリの直下に投稿名が続く形式。
  • 'index.php?name=$matches[1]':URLパターンにマッチした場合の内部クエリ。$matches[1]は、正規表現のキャプチャグループ。

最後に

上記のコードを使用することで、WordPressの投稿のパーマリンクを「/blog/投稿名/」形式にカスタマイズし、そのパーマリンクに対応するリライトルールを追加することができます。この設定により、SEOに強く、ユーザーにもわかりやすいURL構造を実現できます。

パーマリンクのカスタマイズやリライトルールの設定は、サイトの構造や目的に応じて柔軟に変更できます。ぜひ、自分のサイトに合った設定を試してみてください。

関連記事

コーダーの強い味方。ジェネレーター・ツールを使い倒そう!

コーダーの強い味方。ジェネレーター・ツールを使い倒そ...

コーディング

CSSのマスク(切り抜き)効果でOpen the Window!

CSSのマスク(切り抜き)効果でOpen the W...

コーディング

sectionとarticleの使い分け

sectionとarticleの使い分け

コーディング

cssによる最新の中央揃え

cssによる最新の中央揃え

コーディング

ブログ一覧

無料でご相談、ご提案いたします

お気軽にお問い合わせください

Follow