発生している問題・エラーメッセージ
wordpressサイトで幾つかのカスタム投稿タイプと、それに紐付いているタクソノミーがあります。
カスタム投稿タイプと、タクソノミーはCustom Posttype UI (CPTUI) というプラグインで追加しています。
以下、各投稿タイプとタクソノミーです
■ 投稿タイプ shop
タクソノミー genre (これのアーカイブがおかしい)
■ 投稿タイプ school
タクソノミー school-genre
上記のうち、タクソノミー genre のタクソノミーアーカイブページのみ、メインクエリの記事が空っぽ(ゼロ記事)になり、「記事はありません」と出てしまいます。
ただ、おかしいのが、「/shop/?genre=sushi」(ドメイン省略)というパスのページでは記事がちゃんと表示されるのですが、
「/?genre=sushi」では空っぽになってしまうのです。
呼び出されているテンプレートは「/shop/?genre=sushi」では「archive-shop.php」が呼び出され、
「/?genre=sushi」では「archive.php」が呼び出されています。
しかし、この2つのテンプレートの内容はほぼすべて同じで、仮にサーバーから「archive-shop.php」を削除して、
「/shop/?genre=sushi」のページで、「archive.php」が呼び出されても、「/shop/?genre=sushi」ではちゃんと記事が表示されますが、「/?genre=sushi」で、同じ「archive.php」のテンプレが呼び出されたのに、やはりクエリの結果が空っぽになっています。
上記投稿タイプ「school」に同じ様なタクソノミーで「school-genre」というのがありまして、
こちらは、例えば、「/school/?school-genre=tutoring-school/」と「/?school-genre=tutoring-school/」のそれぞれのURLでも表示されます。
functions.phpの内容を全て削除してみたり、CPTUIのタクソノミー設定をいくつかいじってみても、どうしても「/?genre=sushi」では空っぽになってしまいます。
pre_get_postsの$query変数を確認してもみましたが、記事が無いクエリに特段おかしいところがあるわけでもなく、
post_typeがなかったので、以下のsetをやってみましたが、それでも「/?genre=sushi」では空っぽになってしまいます。
php
1$query->set( 'post_type', $post_type );
以下は、pre_get_postsの$query変数をvar_dumpしたものです。
「/?genre=sushi」 記事が空っぽになる
https://pastebin.com/cbDUNkwY
「/shop/?genre=sushi」 記事がちゃんと出る
https://pastebin.com/GrndzkkW
「/?school-genre=tutoring-school/」 記事がちゃんと出る
https://pastebin.com/xZyh8J0d
また、gitで過去のソースにcheckoutして、戻してみても、「/?genre=sushi」では記事が空っぽになります。
最近入れたプラグインで「Popup Maker」というのがあり、それをいったん削除してみましたが、それでもなおりませんでした。
以下、Custom Post Type Permalinksの設定です。
同じ様なバグの経験がある方、また、解決方法に思い当たるふしがあれば、何でもいいのでご教示下さい。
原因が分からず、困り果てております。。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー