add_rewrite_tag()


WordPressのadd_rewrite_tag()関数は、カスタムのリライトタグを追加するために使用されます。この関数を使うことで、URLのクエリ変数をパーマリンク構造に組み込むことができます。

構文

add_rewrite_tag( string $tag, string $regex, string $query = '' );

引数の説明:

  • $tag (string) — リライトタグの名前。%で囲まれた形式で指定します。
  • $regex (string) — タグに対応する正規表現。
  • $query (string) — クエリ変数を指定します。省略可能です。

例1: 基本的なリライトタグの追加

この例では、カスタムのリライトタグ%color%を追加します。

add_rewrite_tag('%color%', '([^/]+)', 'color=');

例2: カスタムタグを使用したURLのリライト

この例では、%color%タグを使用してURLをリライトし、クエリ変数として渡します。

add_rewrite_tag('%color%', '([^/]+)', 'color=');add_rewrite_rule('^product/([^/]+)/?', 'index.php?post_type=product&color=$matches[1]', 'top');

例3: カスタムタグとカスタム投稿タイプの組み合わせ

カスタム投稿タイプproductとカスタムタグ%color%を組み合わせて使用します。

add_rewrite_tag('%color%', '([^/]+)', 'color=');add_rewrite_rule('^product/([^/]+)/([^/]+)/?', 'index.php?post_type=product&name=$matches[1]&color=$matches[2]', 'top');

例4: 複数のカスタムタグを追加

複数のカスタムタグを追加する例です。

add_rewrite_tag('%color%', '([^/]+)', 'color=');add_rewrite_tag('%size%', '([^/]+)', 'size=');

例5: カスタムタグを使用したページネーション

カスタムタグを使用してページネーションを実装します。

add_rewrite_tag('%color%', '([^/]+)', 'color=');add_rewrite_rule('^product/([^/]+)/page/([0-9]+)/?', 'index.php?post_type=product&color=$matches[1]&paged=$matches[2]', 'top');

例6: カスタムタグとカテゴリーの組み合わせ

カスタムタグとカテゴリーを組み合わせて使用します。

add_rewrite_tag('%color%', '([^/]+)', 'color=');add_rewrite_rule('^category/([^/]+)/([^/]+)/?', 'index.php?category_name=$matches[1]&color=$matches[2]', 'top');

例7: カスタムタグとタグの組み合わせ

カスタムタグとタグを組み合わせて使用します。

add_rewrite_tag('%color%', '([^/]+)', 'color=');add_rewrite_rule('^tag/([^/]+)/([^/]+)/?', 'index.php?tag=$matches[1]&color=$matches[2]', 'top');

例8: カスタムタグと著者の組み合わせ

カスタムタグと著者を組み合わせて使用します。

add_rewrite_tag('%color%', '([^/]+)', 'color=');add_rewrite_rule('^author/([^/]+)/([^/]+)/?', 'index.php?author_name=$matches[1]&color=$matches[2]', 'top');

注意点:

  • リライトルールを追加した後は、必ずflush_rewrite_rules()を実行して、リライトルールを更新してください。
  • リライトタグは、パーマリンク設定に影響を与えるため、慎重に使用してください。

関連機能: