Skip to content

[WP Audit] v1.3.0 TaxonomyArchiveRewrites のリライトルールが WPML/Polylang 言語URLプレフィックスに対応しない恐れ #139

Description

@claude

概要

v1.3.0 で追加された「タクソノミーベースURLアーカイブページ(例: /category/)」機能は、
TaxonomyArchiveRewrites::add_rewrite_rules()add_rewrite_rule()
^category/?$ 形式のルールを登録する。

WPML / Polylang の「言語ディレクトリ」方式(例: /en/category//fr/categorie/)では、
リクエストが fr/category/ となり ^category/?$ にマッチしない

結果として、多言語サイトではデフォルト言語以外のタクソノミーアーカイブページが
rich taxonomy ページに置き換わらない可能性がある(素の WordPress アーカイブが表示される)。

確信度

★4 — コード接地済み(正規表現で確認済み)+ 直前の WPML 対応 Issue (#116) が
1.3.0 リリース 前日 (2026-07-07)に COMPLETED クローズされており、
新規追加の TaxonomyArchiveRewrites クラスがその対象に含まれていない可能性が高い。

多言語サイトのユーザーが 1.3.0 にアップグレードした際に踏む恐れがある(要確認)。

Evidence(証拠)

コードの根拠

  • src/Tarosky/RichTaxonomy/Controller/TaxonomyArchiveRewrites.php:52

    $rule = preg_quote( $slug, '/' ) . '/?$';
    add_rewrite_rule( $rule, 'index.php?' . self::QUERY_VAR . '=' . $taxonomy_name, 'top' );

    WordPress は add_rewrite_rule() の内部でパターンに ^ を付加する。
    結果として実際のマッチパターンは ^category/?$

    WPML の言語ディレクトリモードでは /fr/category/ のリクエストが fr/category/ に対して評価され、
    ^category/?$ にマッチしない。

タイミング証拠

出来事 日時 (GMT)
#116(WPML/Polylang 互換性)COMPLETED クローズ 2026-07-07 06:34
v1.3.0 リリース(TaxonomyArchiveRewrites 新規追加) 2026-07-08 02:50

TaxonomyArchiveRewrites クラスは 1.3.0 で新規追加されたため、#116 の修正対象外の疑いが強い。

既存の WPML 対応との比較

推奨アクション

  1. WPML/Polylang「言語ディレクトリ」モードで /category/(デフォルト言語)と
    /fr/category/(その他言語)の両方で taxonomy archive page が正しく機能するか確認テストを実施する
  2. 問題が再現する場合は、add_rewrite_rules() 内で WPML の言語プレフィックスを考慮した
    ルール追加、または rich_taxonomy_taxonomy_archive_override フィルタでの制御を検討する
  3. 確認の結果、問題がなければ本 Issue を not_planned でクローズし、
    「WPML は独自のルーティングを持つため実害なし」を台帳にメモする

Generated by wp-plugin-audit on 2026-08-01

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions