現在デフォルトスキンとして「Momoon(アクア)」を適用中。

関連記事に関する要望 | 開発者向けフォーラム | Cocoon フォーラム

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

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

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

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

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

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

フォーラムのTwitterアカウント(@CocoonForum)はこちら

スポンサーリンク
Share:

[解決済] 関連記事に関する要望  


ロコ
(@lococo)
Reputable Member
参加: 2年 前
投稿: 494
2019年4月10日 20:38  

記事下関連記事の部分を独自のプログラムに切り替えられるフックがほしいです。
今のところ、tmp/related-entriesやtmp/related-listあたりのファイルを子テーマで上書きなどする必要がありますが、できればtmp/related-entries下の内容と別のプログラムとをfunctionsで自由に切り替えられるようにしたいです。

https://notepad.pw/4f1pzize
(...の箇所で切り替え)


ロコ
(@lococo)
Reputable Member
参加: 2年 前
投稿: 494
2019年4月10日 23:28  

ちなみに、get_related_wp_query_argsにフックがあるのは理解しており、WP_Query単体ではない情報を切り替えで掲載しています。

get_related_wp_query_argsでempty($args)をtrueにすると、今度はelse下の内容が表示されるので、このあたりをうまく切り替えられるフックがあればと思っています。


ロコ
(@lococo)
Reputable Member
参加: 2年 前
投稿: 494
2019年4月11日 01:31  

少しトリッキーなカスタマイズで自己解決しました。
お騒がせしました。

関連記事を大きくカスタマイズする場合は上記のような切り替えポイントがあった方が便利かなとは思いましたが、需要がなさそうであれば却下していただいて構いません。


わいひら 件のいいね!
わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7394
わいひら - Facebookわいひら - Twitter
2019年4月11日 23:08  

その部分をフィルターフックできるように書くと、テンプレートの記述が複雑になりそうなので、その部分の出力のフックは今回見送ろうと思います。
ただ、何かスマートな方法が思いついたらフックを追加出来ればと思います。


ロコ
(@lococo)
Reputable Member
参加: 2年 前
投稿: 494
2019年4月11日 23:22  

個人的には、

is_related_entries_visible()

get_related_entry_type()

の部分の判別が同じファイル内で行われるよりは、

https://notepad.pw/985hofz1

の部分までをrelated-list側に含め、get_related_entry_type関数の返り値をtrue/falseにし、この関数内で判別をフック化したらどうなるだろうとは考えました。

get_template_part関数には読み込むファイル内容前に出力内容を加えるアクションフックがあるので。


ロコ
(@lococo)
Reputable Member
参加: 2年 前
投稿: 494
2019年4月11日 23:26  

そうするとrelated-entries・related-listのファイルごとに出力のオンオフを切り替えられるポイントができますが、他の問題があるかもしれません。


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7394
わいひら - Facebookわいひら - Twitter
2019年4月11日 23:44  

オン・オフの切り替えだけならフックを追加しても、そこまでややこしくならないので大丈夫かと思います。
こんな感じとかでも。

    if ((get_related_entry_type() != DATA_AD_FORMAT_AUTORELAXED || is_amp()) && apply_filters('cocoon_template_part_related_list', true)) {
get_template_part('tmp/related-list');
} else {//関連コンテンツユニットの場合

このフックを無効にして、以下のように書くということでもよいでしょうか。

add_action('get_template_part_tmp/related-list', function () {
get_template_part('子テーマに置いてあるテンプレートのパス');
});

※動作確認はしてないです

This post was modified 8か月 前 by わいひら

ロコ
(@lococo)
Reputable Member
参加: 2年 前
投稿: 494
2019年4月12日 00:21  

上記の

if ((get_related_entry_type() != DATA_AD_FORMAT_AUTORELAXED || is_amp()) && apply_filters('cocoon_template_part_related_list', true)) {
get_template_part('tmp/related-list');
} else {//関連コンテンツユニットの場合

でtrue/falseを制御すると、falseのときに

get_template_part('tmp/related-list');

が読み込まれないと思うのですが、先ほどの返信にあるように

https://notepad.pw/985hofz1

の部分をrelated-listファイル側に含めるというのはどうでしょうか?

 

add_actionについてはその通りで、related-listを読み込んだ際にはコンテンツが追加できるわけですが、そうなると現在related-listによってデフォルトで表示する内容の選択肢が

  1. WP_Query単体で生成されるリスト
  2. 「関連記事は見つかりませんでした。」

の2パターンしかないように思うので、ここに『3.非表示』の選択肢ができる制御ポイントを加えたうえでadd_actionを使うのが、最小限の修正でできることなのかなと。

 

なので、上記の例でいくとrelated-listファイルのコードを

https://notepad.pw/6p7e145

に変更し、条件分岐の部分をrelated-entriesから移すことで、フックのみでの関連記事内プログラムのカスタマイズの幅が広がると思います。

This post was modified 8か月 前 by ロコ

ロコ
(@lococo)
Reputable Member
参加: 2年 前
投稿: 494
2019年4月12日 02:44  

条件分岐部分を移す必要はなく、related-entriesにフックのみの条件

例: https://notepad.pw/fqz1zxoh

を追加するだけで大丈夫でした。


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7394
わいひら - Facebookわいひら - Twitter
2019年4月12日 19:21  

確かに、そっちで書いた方がスマートですね。
そのようにフックを追加したものをアップしておきました。
------------------------------------------------
https://github.com/yhira/cocoon
最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。

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


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7394
わいひら - Facebookわいひら - Twitter
2019年4月12日 19:23  

一応、検索から同様のカスタマイズをしようと訪れた方向けに、関連記事テンプレートをカスタマイズする簡単なサンプルコードも載せておきます。

//関連記事を非表示にする
add_filter('cocoon_template_part_related_list', '__return_false');

//子テーマにおいてある独自カスタマイズの関連記事テンプレートを呼び出す
add_action('get_template_part_tmp/related-list', function () {
  get_template_part('子テーマに置いてあるテンプレートのパス');
});
This post was modified 8か月 前 by わいひら

ロコ
(@lococo)
Reputable Member
参加: 2年 前
投稿: 494
2019年4月12日 20:23  

確認しました。
フックの追加ありがとうございます。


わいひら様が提示されているサンプルコードに、私のカスタマイズ例を補足しておくと、

条件を満たすカテゴリーに属する記事ではWP_Query単体では実現できない関連記事コンテンツを表示し、条件を満たさないカテゴリーに属する記事では通常のWP_Query単体で生成される関連記事リストを表示する。

といった形です。


なお、WP_Query単体で実現できるカスタマイズであれば、get_related_wp_query_args関数に用意されているフィルターフック「get_related_wp_query_args」で可能です。


わいひら 件のいいね!
わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7394
わいひら - Facebookわいひら - Twitter
2019年4月14日 17:04  

ご確認と、補足ありがとうございます!


Share:
スポンサーリンク
わいひらをフォローする
おすすめサーバ

性能も兼ね備えながら安くブログ運営を開始したいのであればここ1択。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/2・QUIC(高速化プロトコル)に対応
◎東京・大阪でリージョン選択が可能
◎プランのアップ・ダウングレードが自由自在
◎同サービス内でドメイン管理が可能
◎転送量が多い
◎毎日無料バックアップ(14日分)
◎復元ポイントを指定して復旧可能(無料)
◎アダルト・出会い系サイト可
◎ドメインとサーバー代のチャージ払いが可能
○サーバ引っ越しオプションあり(有料)
サービス運営期間:1年4ヶ月

1年以上の契約をする場合は、クーポンコード入力でさらに20%割引(※2019/12/18 17:00まで)。

クーポンコード:Y2KIC92J9Y

クーポンの使用方法はこちら

安定感抜群のサーバーです。あまり急激なアクセス変動がないアフィリエイトサイトに向いています。

◎nginxを用いた高速サーバー(完全SSD)
◎老舗サーバーなので安定感抜群
◎ディスク容量が多い
◎転送量が多い
◎同サービス内でドメイン管理が可能
○http/2(高速化プロトコル)に対応
○毎日無料バックアップ(14日分)
△DBは7日分だけ無料復旧可能(ファイルは有料)
×プラン変更でCPUのスペックアップができない
×プラン変更しても即時反映されない
×アダルト・出会い系サイト不可
サービス運営期間:16年

プラン変更で負荷対策が行えるので、ブログ向きのレンタルサーバーです。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/2・QUIC(高速化プロトコル)に対応
◎プランのアップ・ダウングレードが自由自在
◎転送量が多い
◎毎日無料バックアップ(14日分)
◎復元ポイントを指定して復旧可能(無料)
◎アダルト・出会い系サイト可
○サーバ引っ越しオプションあり(有料)
○サーバー料金をチャージ払いが可能
サービス運営期間:3年

とにかく速い。サイトに表示スピードを求めるならココ。

◎nginxを用いた高速サーバー(完全SSD)
◎プランのアップ・ダウングレードが自由自在
◎ディスク容量が多い
◎転送量が多い
○http/2(高速化プロトコル)に対応
○毎日無料バックアップ(14日分)
○DB復旧は無料(ファイルは有料)
○サーバ引っ越しツールあり
○サーバー料金をチャージ払いが可能
△新しいサービスなので運営櫪がまだ短い
サービス運営期間:1年2ヶ月

格安な値段で始められる高機能サーバーです。
性能も備えつつ最安ならここ。
サイトを続けるうちにアクセスが増えれば、プランのアップグレートで対応可能です。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎激安プランが用意してある
◎値段あたりのスペックが高い(コスパ良し)
◎サーバ引っ越しオプションあり(無料)
◎アダルト・出会い系サイト可
○http/2(高速化プロトコル)に対応
△プランのアップは可能だがダウンは不可
△毎日自動バックアップ(1日分)
△前日のバックアップからのみ復元できる(無料)
サービス運営期間:3年

Cocoon
  
動作中

ログイン または 登録 してください

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