フォーラムへの返信
-
投稿者投稿
-
個人的には基本的にはこれまで書いてきたことと同じ意見です。利用者が多いプラグインなのでネット上の検証されていないコードよりは正しく動くように対策がされているとは思いますが、よほどの理由がない限りはルーティングは手を入れないほうが良いと考えています。
解決済みということで、トピックのクローズをお願いします!
♥ 0Who liked: No userルーティングを定義し、そのルーティングに基づき表示すべきページが決定され、それでページが表示されるわけなので、ルーティングの段階で
is_archive()
等で分岐させることはできないのではないでしょうかね? 既存のルーティングを書き換えるなら、必要なルーティングを全部再定義するくらいの覚悟が必要な気がします…(とはいえ前にも書いたように僕はルーティングに詳しくないので、実際のところはわかりませんが♥ 0Who liked: No userとなるとやはり追加しているコードに問題がありそうですね…。こちらの環境でも、いずれのテーマでも404になることを確認できました。
My Snow Monkey に追加されているコードを見ていて、下記が気になりました。
function remcat_rewrite($wp_rewrite) { $new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2)); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_filter('generate_rewrite_rules', 'remcat_rewrite');
リライトには詳しくないので具体的にどうしたら良いかはわからないのですが、リライトルールの先頭に
array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
を追加していますよね。これ多分 URL に/page/
が含まれていたらクエリにcategory_name
を追加する的な意味なのかなと。そうすると各アーカイブページの2ページ目以降を開こうとするとカテゴリーページを探すことになっちゃうのかな?と思うので、おそらくこれが邪魔している気がします。が、このコードも何か必要があって追加していると思うので、消せば良いという話なのかはちょっとわからないですね…。♥ 0Who liked: No userあ、今気づいたのですが、テーマが Snow Monkey じゃない場合は My Snow Monkey プラグインは有効化していたとしても処理が実行されないので、もし TwentyTwentyOne にしたときに category を削除するコードを My Snow Monkey から別の場所に書き換えたりしていないのなら、そのコードは実行されていないことになります。とりあえず TwentyTwentyOne の functions.php に貼り付けたりすれば実行されます。そのあたりは動作確認されましたかね?
♥ 0Who liked: No userダッシュボード → CPT UI → 登録済み → コードを取得
で表示されるコードも共有をお願いします。
♥ 0Who liked: No userなるほどです。Snow Monkey はページの表示に独自のレイアウト/ビューコントローラーの仕組みを使っているので、それとの相性の問題はあるのかもです。
一応こちらでも再現してみたいなと思うので、My Snow Monkey に記述しているコードをまるごとここに貼り付けてもらっても良いでしょうか? 404を再現するのに必要なプラグインや設定があればそれも詳しく教えてください。
♥ 0Who liked: No userこの状態でテーマを Snow Monkey に変えるとやはり 404 になりますか?
♥ 0Who liked: No userなるほどです。やはり URL から category を除外するとおかしくなるみたいですね。前述したように、僕が個人的に対応するなら
WordPress は URL をもとになんのページを表示するか判定してルーティングをおこなうので、基本的にはパーマリンクをいじくるコードやプラグインは入れないほうが良いです。
です。消さないときが全てがちゃんと動く状態なので、消して調整したとしても何かしらのパターンではおかしくなる部分がでてくると思います。僕はパーマリンクをカスタマイズする方法はわかりませんが、Custom Post Type Permalinks プラグインや Simple Post Type Permalinks プラグインのソースコードを読むと何か参考になる部分があるかもしれません。
♥ 0Who liked: No userSnow Monkey Blocks v20.3.0 でフィルターフックを追加しました。詳しくはお知らせ記事を確認してみてください。
何を指定できるかは公式ドキュメントが詳しいです。並び替えは
orderby
ですね。♥ 0Who liked: No userこれはフックてどうにか出来るよう試して見ようと思います。
あ、現状だとフックがないので、どういうフックをどこに追加するかも検討が必要になります!
♥ 0Who liked: No userv25.1.4 で変更を入れてみました。アップデートしていただければ自動的に
aria-label
が追加されます。aria-label
に使用する文字列を変更したい場合は下記の記事のサンプルコードを確認してみてください。Snow Monkey Blocks v20.2.2 で修正しました!
♥ 0Who liked: No userありがとうございます! なんらかのプラグインが
post
以外のcontext
でwp_kese
しているのかもしれません。現状だとチェックが甘いので、先のコードで修正入れます!♥ 0Who liked: No userうーん、なんでしょうね。こちらの環境だとログインしててもしてなくてもこのエラーはでないですね…。試しに下記のように書き換えると消えますかね?
snow-monkey-blocks/dist/blocks/tabs/index.php
add_filter( 'wp_kses_allowed_html', function ( $tags, $context ) { if ( 'post' !== $context ) { return $tags; } $tags['button'] = wp_parse_args( array( 'aria-selected' => true, ), $tags['button'] ); return $tags; }, 10, 2 );
あ! コードありがとうございます、そのコードでラベルのオンオフができるようになっていたのをうっかり忘れていました。これがあるならオフにしたときは自動的に
aria-label
が追加されるようにしたほうが良いですよね。ちょっとまた変更入れてみます!♥ 0Who liked: No user -
投稿者投稿