回答編集履歴
1
返信
    
        answer	
    CHANGED
    
    | @@ -19,4 +19,40 @@ | |
| 19 19 | 
             
            って感じでしょうか
         | 
| 20 20 |  | 
| 21 21 | 
             
            template_includeフィルタはコメントの種類ごとに表示内容が全然違うので
         | 
| 22 | 
            -
            テンプレートファイル自体を切り替えたいとかいう場合に使います
         | 
| 22 | 
            +
            テンプレートファイル自体を切り替えたいとかいう場合に使います
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            ---
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            add_rewrite_rule();は**正規表現**による
         | 
| 27 | 
            +
            URLを書き換え設定を追加します
         | 
| 28 | 
            +
            正規表現を知らないと道のりはさらに長く険しく…
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            ```php
         | 
| 31 | 
            +
            add_rewrite_rule(
         | 
| 32 | 
            +
              'mypost_type/([0-9]+)/(\w+)/',
         | 
| 33 | 
            +
              'index.php?post_type=mypost_type&p=$matches[1]&page_type=$matches[2]',
         | 
| 34 | 
            +
              'top'
         | 
| 35 | 
            +
            );
         | 
| 36 | 
            +
            ```
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            これで、例えば
         | 
| 39 | 
            +
            http://example.com/mypost_type/63/hoge/
         | 
| 40 | 
            +
            は
         | 
| 41 | 
            +
            http://example.com/index.php?post_type=mypost_type&p=63&page_type=hoge
         | 
| 42 | 
            +
            にリダイレクトされるようになります
         | 
| 43 | 
            +
             | 
| 44 | 
            +
            第3引数のtopは書き換えルールの優先順位を先頭にってことです
         | 
| 45 | 
            +
            wordpressの固定ページとかのリライトルールがほとんどのパターンを引っ掛けてしまうので
         | 
| 46 | 
            +
            ここは割とtop以外の選択肢がないです
         | 
| 47 | 
            +
             | 
| 48 | 
            +
            add_rewrite_tag()はadd_permastruct()とセットで使うもので
         | 
| 49 | 
            +
            add_rewrite_rule()に渡す引数の生成の設定をする関数です
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            管理画面のパーマリンク設定でカスタムURLの設定にも使いたいとか
         | 
| 52 | 
            +
            いろんなパーマリンクで同じ書き換えルールのパーツを使うというときに使います
         | 
| 53 | 
            +
             | 
| 54 | 
            +
            他のカスタム投稿タイプやページタイプでも同様に子ページを作れるようにしときたい
         | 
| 55 | 
            +
            とかいうような場合はadd_rewrite_tag()+add_permastruct()でやっておくのもいいです
         | 
| 56 | 
            +
             | 
| 57 | 
            +
            特定のカスタム投稿でしか使わないとかなら
         | 
| 58 | 
            +
            add_rewrite_rule()でやっといた方が手間が少ないです
         | 
