サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
トピックスターター 2021年2月14日 16:14
個別のカテゴリー・タグでインデックスを設定する項目
がありますが、同じフック'edited_term'
で設定値保存時の存在有無を判定していないため、タクソノミー問わずすべてのタームに2種類の設定値
- 'the_category_noindex'
- 'the_tag_noindex'
が保存されます。
カテゴリーIDに対応する'the_category_noindex'から、タグIDに対応する'the_tag_noindex'から取得するという場合は困りませんが、キー名から一括で扱う場合(例えば関数get_noindex_category_ids・get_noindex_tag_ids)などでは不具合が生じます。
わいひら reacted
2021年2月14日 19:28
ご連絡ありがとうございます。
不具合に気づいてませんでした。
値の存在確認を追加しました。
https://github.com/yhira/cocoon/commit/6517b9a2dd95f5aef45b94decdabfc5db440fb94
トピックスターター 2021年2月14日 20:26
https://github.com/yhira/cocoon/commit/6517b9a2dd95f5aef45b94decdabfc5db440fb94
こちらの不具合修正では不十分なので、改めて問題点を整理します。
まず、現時点で作成されているカテゴリー・タグのタームメタデータには、
- 'the_category_noindex'
- 'the_tag_noindex'
の両方存在してしまっている点がひとつの不具合原因となっています。
よって、二重に存在するメタデータを統一する、または一括取得後に'the_category_noindex'のうちカテゴリーに紐づいている設定値のみ&'the_tag_noindex'のうちタグに紐づいている設定値のみで選別するなど、必要十分な状態になるよう修正しないといけません。
続いて、設定値の保存・更新における不具合を修正する必要がありますが、インデックス設定はチェックボックスなので、今の仕様のまま単純に保存データのキーだけでは設定の存在を判定することができません。
動作的には、チェックボックスからチェックを外す場合は保存されず、チェックが入ったまま変更できなくなります。
この不具合を修正した上で、二重に存在するメタデータを統一する場合には、メタデータの保存先等も調整する必要が出てくるかもしれません。
わいひら reacted
2021年2月15日 21:57
続いて、設定値の保存・更新における不具合を修正する必要がありますが、インデックス設定はチェックボックスなので、今の仕様のまま単純に保存データのキーだけでは設定の存在を判定することができません。
そうでした。チェックされない場合保存されないので現在の仕様にしたんでした;失礼しました。
なので、カテゴリー画面ではカテゴリーの設定、タグ画面ではタグの設定のみ保存されるように修正してみました。
https://github.com/yhira/cocoon/commit/3eb3cdc80650fc53b7a8b599657e86e1fbe113b4
トピックスターター 2021年2月15日 23:54
カテゴリー画面ではカテゴリーの設定、タグ画面ではタグの設定のみ保存されるように修正してみました。
確認しました。
修正ありがとうございます。
最終的には、以下のような値を取得しているんですけど、これはカテゴリーに紐づいている設定値にはなりませんでしょうか。
wp_termmetaのデータテーブルは、全てのタクソノミー下にあるタームで共用している点を考慮する必要があります。
例えば、添付画像のようにカテゴリー・タグ作成画面にも案内がありますが、カテゴリーやタグを整理するためにカテゴリー⇔タグを変換したり、新たなタクソノミーでより細かい分類に仕分けする場合などがあります。
『Cocoon』というカテゴリーで「インデックスしない」にチェックを入れていたとすると、データベース上では'the_category_noindex'=1です。
そのまま『Cocoon』をタグに変換した後、新たに'the_tag_noindex'でインデックスさせる設定なら、データベース上では
- 'the_category_noindex'=1
- 'the_tag_noindex'=0
となります。
「タグである『Cocoon』のタームIDに対して、'the_tag_noindex'の設定値を取得する。」という場合には問題ありませんが、おっしゃっている現在の方法で一括データを取得しようとすると、'the_category_noindex'と'the_tag_noindex'の両方が対象となります。
そして、現在のタグとしての'the_tag_noindex'=0は該当しないものの、'the_category_noindex'=1が該当し、カテゴリーとして処理されてしまいます。
この例のような問題から、
二重に存在するメタデータを統一する、または一括取得後に'the_category_noindex'のうちカテゴリーに紐づいている設定値のみ&'the_tag_noindex'のうちタグに紐づいている設定値のみで選別するなど
の修正方法を挙げた次第です。
わいひら reacted
2021年2月16日 20:44
get_noindex_category_ids、get_noindex_tag_idsを使用しているのは、検索してみると以下のようなサイトマップ出力処理の部分だけで
https://github.com/yhira/cocoon/blob/b3bfa849aa647ba4aee39649d91c2edfdda0e22c/functions.php#L284
以下のようなWordPressデフォルトのサイトマップを表示して動作確認しようとしたところ、404ページになってしまいます(他のテーマにしても同じでした)。
https://wp-cocoon.com/wp-sitemap.xml
なにか仕様変更があったんでしょうか。
それとは別に、関数で値を取得した後に、以下のようにカテゴリーならカテゴリーに紐ついてるものだけに選別する処理を後で加えようと思います。
よって、二重に存在するメタデータを統一する、または一括取得後に'the_category_noindex'のうちカテゴリーに紐づいている設定値のみ&'the_tag_noindex'のうちタグに紐づいている設定値のみで選別するなど、必要十分な状態になるよう修正しないといけません。
トピックスターター 2021年2月16日 21:58
以下のようなWordPressデフォルトのサイトマップを表示して動作確認しようとしたところ、404ページになってしまいます(他のテーマにしても同じでした)。
https://wp-cocoon.com/wp-sitemap.xml
なにか仕様変更があったんでしょうか。
https://wp-cocoon.com/sitemap.xml
「Google XML Sitemaps」プラグインを使用されていると思いますが、このプラグインではWordPressコアのサイトマップを無効化するようになっています。
add_filter('wp_sitemaps_enabled', '__return_true', 11);
リライトルールによっては404エラーのままかもしれませんが、一応子テーマ等でフックから有効化することはできます。
わいひら reacted
2021年2月17日 19:37
ありがとうございます。
確かに。当サイトに関しては、それが原因だと思います ?
ただ、プラグインを何もインストールしていないローカル環境でも、同様の症状が出たのでWordPressの問題と勘違いしてしまいました。
おそらく、僕のローカル環境側の何かしらの問題だと思います。
試しに、WEB上にまっさらなサイトを作成して、/sitemap.xmlを表示させたら問題なく表示されました。
カテゴリーとタグについては、選別処理を追加してみました。
https://github.com/yhira/cocoon/commit/db59550c3c2175d31bb5bd0136e984ec58a9fccc
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。