まったくの素人で困っているのでどなたか教えていただけると幸いです。
wordpress の functions.php でのパーマネントリンクのリライトについて です。
現行の2つタームにもう1タームを追加したときにコードをどう書き換えればよいのわかりません。
今は
http://ドメイン/other_post/book1/ => http://ドメイン/book1/
http://ドメイン/other_post/book2/ => http://ドメイン/book2/
のようにリライトされています。
これに、「book3」 というタームを新たに追加しました。
ちなみに
- post_type = other_post
- taxnomy = other_post_tax
- term(現行) book1 と book2
- term(追加) book3
です。
現行PHP↓
PHP
1function UrlRewrite(){ 2 3 add_rewrite_rule('^(book1|book2)?$', 'index.php?other_post_tax=$matches[1]', 'top'); 4 add_rewrite_rule('^(book1|book2)/(page)/([0-9]{1,})/?$', 'index.php?other_post_tax=$matches[1]&paged=$matches[3]', 'top'); 5 add_rewrite_rule('^(book1|book2)/(.+)/?$', 'index.php?post_type=other_post&other_post_tax=$matches[1]&name=$matches[2]', 'top'); 6 7} 8add_action('init', 'UrlRewrite');
book3 を追加したとき(上手くいかなかったPHP)↓
※ 「|book1|book2」 のあとに「book3」 を追加しただけ
PHP
1function UrlRewrite(){ 2 3 add_rewrite_rule('^(book1|book2|book3)?$', 'index.php?other_post_tax=$matches[1]', 'top'); 4 add_rewrite_rule('^(book1|book2)|book3/(page)/([0-9]{1,})/?$', 'index.php?other_post_tax=$matches[1]&paged=$matches[3]', 'top'); 5 add_rewrite_rule('^(book1|book2|book3)/(.+)/?$', 'index.php?post_type=other_post&other_post_tax=$matches[1]&name=$matches[2]', 'top'); 6 7} 8add_action('init', 'UrlRewrite');
前任者がカスタマイズされたWPの修正を頼まれましたが、誰にも頼ることができず困っています。
パーマネントリンクのリライトがfanction.php で設定されていることがわかるまで半日費やしました。
初歩的な質問で申し訳ありませんが、どうか何が間違っているのか具体的にご教授頂けると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。