サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2020年3月18日 11:03
お世話になっております。
また似たような質問で申し訳ないですが、差し支えなければご意見をいただければ幸いです。
Cocoonの関連記事設定にて、「カテゴリー・タグ両方に関連づける」または「新着記事一覧を表示するショートコードの利用方法 | Cocoonのショートコードで、現在のページのカテゴリー・タグに関連づける」ことは可能でしょうか?
例:カテゴリー=1・タグ=Aの記事には、カテゴリー=1かつタグ=Aの記事を関連記事として表示させる(カテゴリー=1またはタグ=Aではない)
Cocoon設定の方では、カテゴリー・タグのどちらかを関連づけることはできるのですが、両方を一致させる方法がわかりませんでした。
また、ショートコードの方では、「cats=3,5」のように数字での絶対指定となっているため、get_the_category($post->ID)のように、「現在の投稿のカテゴリー」というような指定方法がわかりませんでした。
表示されている記事とカテゴリー・タグ両方が一致する記事を関連記事として表示させる設定は可能でしょうか?
2020年3月18日 19:25
Cocoonのデフォルト機能ででは不可能です。
PHPのカスタマイズを行えば可能です。
ただPHPのカスタマイズは、サポートの対象外とさせていただいているのでヒントだけ。
関連記事には、記事を取得する際に使用するWP_Query関数のために情報をセットする引数を変更するための「get_related_wp_query_args」というフックが用意されています。
このフックで引数を条件になるように操作すれば、できるかと思います。
https://github.com/yhira/cocoon/blob/4c873c41e4c517e51b69863bcf75289b5839cf78/lib/related-entries.php#L89
引数のセット方法について詳しくはこちらを参照してください。
関数リファレンス/WP Query - WordPress Codex 日本語版
独自カスタマイズが難しい場合は、プロに依頼するという手もあります。
https://wp-cocoon.com/cocoon-custom/
okura reacted
Topic starter
2020年3月19日 12:22
わいひら 様
ご回答ありがとうございます。
適切なヒントをいただけたおかげで、実現することができました。
また、サポート対象外の問題を持ち込んでしまい、誠に申し訳ありませんでした。
改めて、サポート対象外にも関わらず丁寧な対応をして下さったことに、深くお礼を申し上げます。本当にありがとうございました。
参考になるかはわかりませんが、行ったカスタマイズを以下に追記したいと思います。
同様の質問があった時に、少しでもお役に立てれば幸いです。
では、失礼します。
【解決法】
- 子テーマのfunctions.phpに、下記のリンク先より34行目〜91行目をコピペ追記
(//WP_Queryの引数を取得〜endif;まで)
https://github.com/yhira/cocoon/blob/4c873c41e4c517e51b69863bcf75289b5839cf78/lib/related-entries.php#L89 - 44行目〜50行目だった部分を、下記のように置換
$set_args['category__in'] = get_the_category_ids($post->ID);
if (!empty($set_args['category__in'])) $args = $set_args;
$set_args['tag__in'] = get_the_tag_ids($post->ID);
if (!empty($set_args['tag__in'])) $args = $set_args;
- 変更を適用して確認
わいひら reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。