Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

関連記事の関連付けに関して。
 
共有:
通知
すべてクリア

[解決済] 関連記事の関連付けに関して。

10 投稿
3 ユーザー
3 Reactions
2,014 表示
 
(@南)
New Member
結合: 6年前
投稿: 2
トピックスターター  

はじめまして。
最近MovableTypeからWordPressに変えたばかりの初心者です。
Cocoonという素晴らしいテンプレートを公開していただきありがとうございます。

関連記事に関して「カテゴリー」と「タグ」のどちらかと関連付けるかの設定があり、今は「タグ」を選択しています。
タグに関連付けると、カテゴリーよりもより関連性のある記事がリストアップされてくれるのでとても助かってます。
ただ、タグ付けされていない記事の場合は「関連記事は見つかりませんでした。」となってしまいます。

私の場合、関連記事経由で別の記事を閲覧してくれる方がある程度の割合で居るサイトなので、

  • タグと関連付けている場合で、タグが存在しない場合には、カテゴリーと関連付けたい。
  • カテゴリーと関連付けている場合で、カテゴリーに記事が存在しない場合にはタグと関連付けたい。

このような設定ができるようになると、とても助かるのですが…。
お忙しいこととは思いますが、今後、実装していただくことはできないかと思い投稿させていただきました。
お手隙のときにでもご検討頂けましたら幸いです。


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17394
 

記事がない場合に、逆の関連性を取り入れる仕様にしてみました。
よろしければご確認いただければ幸いです。
------------------------------------------------
https://github.com/yhira/cocoon
最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。

FTPでのアップデート方法はこちら。
https://wp-cocoon.com/ftp-update/
------------------------------------------------


   
ろこ
(@lococo)
Prominent Member Registered
結合: 7年前
投稿: 830
 

カテゴリーの記事数が1の場合を考慮するのであれば、タグの記事数も考慮した方がよいのかもしれません。

また、

  • カテゴリーならカテゴリーのみ
  • タグならタグのみ

という選択肢も残しておいた方がよいのではないかと思います。

カテゴリーとタグを明確に切り分けているようなサイト(例えば、カテゴリー=地域&タグ=ジャンル)では一か所の関連記事リスト内でカテゴリーとタグを混同したくない場合もありますし、カテゴリー・タグそれぞれの関連記事を分けて表示したいサイトだと今回の変更でカスタマイズ項目が増えてしまいます。

 

以下は飽くまで一例ですが、今回のような変更でカスタマイズ性を考えると、変更以前の旧get_related_wp_query_args関数で

  1. タグ・カテゴリー各々で$postを投げて$argsを取得する部分を関数として切り離す(空や1記事の場合も考慮)
  2. 関数から$argsを取得することで必ずフック「get_related_wp_query_args」を通る
  3. 「タグなし→カテゴリー、カテゴリーなし→タグを表示する」ための設定(チェック項目)を追加
  4. 設定がオンの場合はフックで$argsが空かどうかを判断した上で空の場合はカテゴリー↔タグの関数を入れ替えて$argsを再取得

などはどうでしょうか?


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17394
 

カテゴリーとタグを明確に切り分けているようなサイト(例えば、カテゴリー=地域&タグ=ジャンル)では一か所の関連記事リスト内でカテゴリーとタグを混同したくない場合もありますし、カテゴリー・タグそれぞれの関連記事を分けて表示したいサイトだと今回の変更でカスタマイズ項目が増えてしまいます。

そういうしっかり分けてあるサイトは、しっかりカテゴリ分けとタグ付をしてあるかと思ってそのような仕様にしました。
もちろん全てを分ける(4つ選択肢を作る)選択肢も考えましたが、設定項目が増えてややこしくなることの方が良くないかなと変更時に思いました。
ここら辺は、南さんや、他の方の意見も聞いてみたいところです。

以下は飽くまで一例ですが、今回のような変更でカスタマイズ性を考えると、変更以前の旧get_related_wp_query_args関数で

申し訳ないですが、テキストだけだと、いろいろな意味にとれるので、ちょっとよくわからなかったです。


   
ろこ
(@lococo)
Prominent Member Registered
結合: 7年前
投稿: 830
 

南様のおっしゃる機能は一定の需要があると思いますし、機能追加は歓迎なのですが、

「get_related_wp_query_args関数の仕組み自体を変えてしまうよりは、フックを機能の追加ポイントにした方がカスタマイズ性に優れているのではないか?」

という意味です。

https://notepad.pw/code/d94erjlj

細かい部分は端折りましたが、一例で示した内容を書いてみました。

設定項目まで追加するかどうかはお任せします(設定項目を用意するならオンの場合のみadd_filter読み込みなど)が、このように機能追加の起点をフック一点にまとめれば、機能を削除するときもremove_filterを1行追加するだけで対応できますし、従来のget_related_wp_query_args関数も無駄になりません。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17394
 

なるほど、コードのおかげで意味がわかりました。
コードを取り入れて、リファクタリングしたものをアップしておきました。
https://github.com/yhira/cocoon


   
ろこ
(@lococo)
Prominent Member Registered
結合: 7年前
投稿: 830
 

取り入れていただき、助かります。
対応ありがとうございます。

確認してみましたが、get_the_category_ids関数の判別で

$cat_count > 1 → $cat_count > 0

でもよいかもしれません。
前の段階で-1で計算しているので、表示している記事とは別に関連記事が1記事ある$cat_count=1があり得ます。

 


【サンプル】

関連記事表示で、

タグに関連付けて、タグがない場合はカテゴリー関連記事が表示されます。逆もしかり。

の機能を削除し、カテゴリーまたはタグのみの関連記事にしたい場合は子テーマに以下のコードを書き込みます。

add_action('after_setup_theme', function () { remove_filter('get_related_wp_query_args', 'get_additional_related_wp_query_args'); });

   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17394
 

確かにそうですね。
初期の設定をそのままにしていました。
修正したものをアップしておきました。
https://github.com/yhira/cocoon

加えて、サンプルコードもありがとうございます!
僕も変更時書こうと思っていたのですが、完全に忘れていました^^;


   
 
(@南)
New Member
結合: 6年前
投稿: 2
トピックスターター  

こんにちは。お礼とお返事が遅くなり申し訳ありません。
早々に対応していただきまして、本当にありがとうございます。
おかげで、関連記事の部分に何らかの記事が表示されるようになり、とても助かってます。

あまり細かい要望は厚かましいし、ややこしいことになってしまうかな…と思い、あのような書き方になりましたが、

「タグと関連付けている場合で、タグに記事が1つも存在しない場合にはカテゴリーと関連付けたい。ただし、同じタグに記事が1つでも存在する場合は、カテゴリーとは関連付けをしない。」

「カテゴリーと関連付けている場合で、カテゴリーに記事が1つも存在しない場合にはタグと関連付けたい。ただし、同じカテゴリーに記事が1つでも存在する場合は、タグとは関連付けをしない。」

このような状態ができるのが理想系だと考えていました。
また、ロコ様が言っているように「カテゴリーならカテゴリーのみ」「タグならタグのみ」の選択肢はそのまま残しておいて、設定項目を増やしていただけばとてもありがたいのだけれど…と考えておりました。
やはり、カテゴリーのみ、タグのみの設定で使いたい方もいるかと思いますので…。

とにかく、今回の対応のおかげで私としてはとても使いやすいものになりました。
お忙しい中、本当にありがとうございました。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17394
 

とりあえずは、このまま運用しようと思います。

それは以下の理由から。

  • 何も表示されないより表示された方が良いと思う
  • 出来れば余計な項目は増やしたくない(選択肢が多い=難しいと感じてしまわれることもあるので)

けれど、もし大きな問題があるようであれば、理由とともにトピックを立てていただければ、需要を伺った上で対応いたします。


   
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました