MENU

add_permastruct()

add_permastruct() は、WordPress にカスタムのパーマリンク構造を追加するための関数です。カスタム投稿タイプやカスタムタクソノミーに対して、独自の URL 構造を定義する際に使用されます。

例えば、特定のカスタム投稿を /custom-type/sample-post/ のような URL 形式にしたい場合などに役立ちます。SEO の最適化やユーザーにとって分かりやすい URL 設計を実現するために活用されます。

目次

機能の説明

add_permastruct() は、WordPress に新しい URL のルール(パーマリンク構造)を追加するための関数です。通常、カスタム投稿タイプやタクソノミーにはデフォルトの URL 構造が適用されますが、この関数を使うことで、より柔軟な URL 設計が可能になります。

主な用途

  • カスタム投稿タイプの URL 構造を変更
  • カスタムタクソノミーの URL を整理
  • SEO に最適化した URL の設計

シンプルなコード例

以下のコードでは、custom-post というカスタム投稿タイプに対して、/custom/%custom_post%/ という URL 構造を追加します。

add_action('init', function() {
    add_permastruct(
        'custom_post',
        'custom/%custom_post%',
        ['with_front' => false]
    );
});
  • 'custom_post':パーマリンクの識別名
  • 'custom/%custom_post%':URL の構造
  • ['with_front' => false]:WordPress のデフォルトのベース(例: /blog/)を無効化

使い方の説明

カスタム投稿タイプのパーマリンクを変更する

カスタム投稿タイプ portfolio のパーマリンクを /works/ に変更する例。

add_action('init', function() {
    add_permastruct(
        'portfolio',
        'works/%portfolio%',
        ['with_front' => false, 'ep_mask' => EP_PERMALINK]
    );
});

引数の説明

  1. 'portfolio':識別名
  2. 'works/%portfolio%':URL の形式(投稿スラッグが %portfolio% に入る)
  3. ['with_front' => false, 'ep_mask' => EP_PERMALINK]
    • 'with_front' => false:デフォルトのベースを無効化
    • 'ep_mask' => EP_PERMALINK:URL をパーマリンクとして扱う

一緒に使うことが多い関連タグ

add_rewrite_rule()

add_permastruct() でカスタムパーマリンクを追加した後、リライトルールを適用する場合に使用されます。

add_action('init', function() {
    add_rewrite_rule('works/([^/]+)/?$', 'index.php?portfolio=$matches[1]', 'top');
});
  • 'works/([^/]+)/?$'/works/sample/ のような URL に対応
  • 'index.php?portfolio=$matches[1]':WordPress にパラメータを渡す
  • 'top':リライトルールの優先度を高く設定

追加情報で取得したい場合

get_post_type_archive_link()

カスタム投稿タイプのアーカイブページのリンクを取得できます。

$archive_link = get_post_type_archive_link('portfolio');
echo '<a href="' . esc_url($archive_link) . '">ポートフォリオ一覧</a>';

出力例

<a href="https://example.com/works/">ポートフォリオ一覧</a>

想定されるトラブル

カスタムパーマリンクが適用されない

解決方法

パーマリンクの設定を保存し直す

  1. WordPress の管理画面で「設定」→「パーマリンク」に移動
  2. 何も変更せず「変更を保存」をクリック
    これにより、リライトルールが適用される。

Q&A

add_permastruct() を使うメリットは?

カスタム投稿タイプやタクソノミーの URL を自由に設計でき、SEO に有利な URL 構造を作成できます。

add_rewrite_rule() と一緒に使う必要がある?

場合によります。基本的に add_permastruct() だけで適用されますが、より細かいルールが必要なら add_rewrite_rule() を追加します。

まとめ

add_permastruct() は、WordPress のパーマリンク構造をカスタマイズする強力な関数です。

カスタム投稿タイプやタクソノミーの URL を変更したい場合に役立ちます。適用後は、必ずパーマリンクの設定を更新する ことで変更を反映させるのを忘れないようにしましょう。

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

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次