ワードプレスのadd_permastruct関数の使用方法・解説

概要

add_permastruct 関数は、ワードプレスにおける特定の投稿タイプのパーマリンク設定を追加するために使用されます。この関数を使用することで、URLの構造をカスタマイズし、SEOやユーザー体験を向上させることができます。一般的には、以下のような機能を実装する際によく使われます。

  1. カスタム投稿タイプのパーマリンクを設定
  2. 複雑なURL構造を持つウェブサイトの構築
  3. 投稿やページのURLをよりユーザーフレンドリーにする
  4. SEO対策の一環としてのパーマリンク設定
  5. 多言語サイトでの言語別のURL管理
  6. 会社や商品のブランド化に向けたURL調整
  7. 特定の条件に基づく動的なパーマリンク生成
  8. 他のプラグインやテーマとのインテグレーションに伴うリンク設定

構文

add_permastruct( $name, $structure, $ep_mask );

パラメータ

  • $name (string) – パーマリンク構造の名前。通常はカスタム投稿タイプ名。
  • $structure (string) – パーマリンクの構造。例えば、'%post_id%''%postname%' など。
  • $ep_mask (int) – エンドポイントマスク。特定のエンドポイントの指定に使用。

戻り値

この関数は特に戻り値を返しません。

関連する関数

使用可能なバージョン

この関数は、WordPress 2.1.0 以降で使用できます。

コアファイルのパス

wp-includes/rewrite.php

この関数のアクションでの使用可能性

アクション名 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード 1: カスタム投稿タイプのパーマリンク設定

function my_custom_post_type() {
    register_post_type('my_custom_post', array(
        'public' => true,
        'label'  => 'My Custom Posts'
    ));
    add_permastruct('my_custom_post', '/custom/%my_custom_post%/', false);
}
add_action('init', 'my_custom_post_type');

このサンプルコードでは、カスタム投稿タイプ「my_custom_post」とそのパーマリンク構造を設定しています。

サンプルコード 2: 複雑なURL構造の追加

add_action('init', function() {
    add_permastruct('product', '/shop/%product%', false);
});

このコードは、特定のカスタム投稿タイプ「product」に対してウェブショップを示すパーマリンク構造を追加します。

サンプルコード 3: SEO対策のためのURL調整

function add_seo_permastruct() {
    add_permastruct('article', '/news/%article%', false);
}
add_action('init', 'add_seo_permastruct');

SEO対策として、投稿タイプ「article」に対するパーマリンクを「/news/」というプレフィックスで設定しています。

サンプルコード 4: 多言語サイトでの使用例

function multilingual_permalink() {
    add_permastruct('portfolio', '/ja/%portfolio%', false);
}
add_action('init', 'multilingual_permalink');

この例では、日本語のポートフォリオ投稿タイプに対して適切なパーマリンク構造を追加しています。

サンプルコード 5: 動的URLの生成

function dynamic_permalink() {
    add_permastruct('event', '/events/%event_name%', false);
}
add_action('init', 'dynamic_permalink');

特定のイベントに基づく動的なパーマリンク「/events/」を生成するコードサンプルです。

この関数について質問する


上の計算式の答えを入力してください