「メイド・イン・ヘブン」スキン適用中

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カスタマイズ依頼

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

フロントページのランダム表示について
 
共有:
通知
すべてクリア

[解決済] フロントページのランダム表示について

24 投稿
5 ユーザー
18 Likes
1,552 表示
(@masaboo)
Trusted Member Registered
結合: 3年前
投稿: 45
Topic starter  

フロントページのランダム表示について教えていただきたいことがございまして、投稿させていただきました。

現在フロントページは、添付設定画像のように「カテゴリごと」で並び順は「投稿日(降順)」を選択しています。

すると上から「新着記事」が表示され、下部には「各カテゴリ」が投稿日順で表示され設定通りです。

 

今回ご質問させていただきたいのは、「新着記事」は「投稿日(降順)」のままで、下部に表示される「各カテゴリ」内の記事をランダムに表示したいと考えています。(各カテゴリごとの古い記事が埋もれてしまうので)

 

こちらの方法を教えていただきたく投稿させていただきました。

どうぞよろしくお願いいたします。

 


   
(@akira)
Famed Member Registered
結合: 6年前
投稿: 1657
 

masaboo さんに便乗して、同じ箇所で私も要望があります。

get_category_index_list_entry_card_tag() の $args を変更するフィルターフックの追加は可能でしょうか?

以前フォーラムにご質問があった 特定のカテゴリをトップページの記事一覧のリストから非表示にしたい のご希望はフィルターフックで実現できます。また、カスタマイズの幅が広がります。

This post was modified 2年前 3回 by Akira

   
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 
投稿者:: @akira

get_category_index_list_entry_card_tag() の $args を変更するフィルターフックの追加は可能でしょうか?

get_category_index_list_entry_card_argsフィルターフックを追加してみました。
https://github.com/yhira/cocoon/commit/28537ad98bc9226428c16368ab790a938a977b1c

こんな感じでよろしいでしょうか。


   
Akira reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 
投稿者:: @masaboo

今回ご質問させていただきたいのは、「新着記事」は「投稿日(降順)」のままで、下部に表示される「各カテゴリ」内の記事をランダムに表示したいと考えています。(各カテゴリごとの古い記事が埋もれてしまうので)

以下の最新ファイルでアップデートして、
------------------------------------------------
開発中の最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。
WordPressでの手動アップデート方法はこちら
------------------------------------------------
子テーマのfunctions.phpに以下のように貼り付けるとおそらくできるかもしれません。
 
//フロントページタイプのカテゴリ一覧だけランダム表示
add_filter('get_category_index_list_entry_card_args', function ($args, $categories){
  //カテゴリーが指定してある時だけ(新着は除外)
  if ($categories) {
    $args['orderby'] = 'rand';
  }
  return $args;
}, 10, 2);
 
※詳細な動作確認はしていないのでご了承ください。

   
Akira reacted
(@masaboo)
Trusted Member Registered
結合: 3年前
投稿: 45
Topic starter  

わいひら様

 

お世話様です。

ご返信ありがとうございます。

 

子テーマのfunctions.phpに貼るりつけるコードを試してみましたが、全く変化はありませんでした。

できればなのですが、戻したい時に元に戻せる様に、masterを上書く方法ではなくfunctions.phpに貼るりつける方法でクリアできればと思っているのですが、functions.phpに貼るりつけて正常に動くコードをいただくことは難しいでしょうか。

 

恐縮ですがご教示いただけると幸いです。

よろしくお願いいたします。

 

 


   
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 

masterを上書きしないと必要なコードがないので変化がないのも当然ですよ。
僕はやれることはやったので、他にできることもありません。

子テーマのfunctions.phpだけで対応したいということであれば、プロの方にご相談いただければ幸いです。
https://wp-cocoon.com/cocoon-custom/

ただ、依頼したとしても必要なフックがないので対応していただけるかどうかは僕も分からないです。


   
(@masaboo)
Trusted Member Registered
結合: 3年前
投稿: 45
Topic starter  

わいひら様

 

ご返信ありがとうございます。

すみません知識不足でご迷惑おかけいたします。

承知しました、masterを上書きします。

 

すみません、あと一つだけ教えてください。

ご説明いただいた方法なのですが、

githubからmasaterをダウンロードして、アップロード。

その後に、子テーマのfunctions.phpにご指示くださったコードを貼って、はじめて動作するという認識であってますでしょうか?

 

何度も恐縮ですがよろしくお願い申し上げます。

 

 


   
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 5年前
投稿: 6845
 

@masaboo さん

せっかく、子テーマのfunctions.phpだけの対処でご希望が叶うようにしてくださっているのに、テストもしない、というのは、意味を理解されていないためと推測します。

 

親テーマをGitHubからダウンロードしたものにアップデートし、機能が必要な場合は子テーマのfunctions.phpに、ご案内いただいたコードを記載し、機能が不要なら、コードを削除すれば良いだけのことと思います。

This post was modified 2年前 by リフィトリー

   
(@masaboo)
Trusted Member Registered
結合: 3年前
投稿: 45
Topic starter  

リフィトリーさん

 

すみません、仰る通りでして、

理解しておらずご迷惑をおかけいたしました。

リフィトリーさんのご返信で意味が理解できたように思います。

そうですよね、必要なかったら子テーマのfunctions.phpから追記したコードを削除すればいいだけですよね。

ありがとうございます。

 

 


   
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 5年前
投稿: 6845
 

masabooさん わいひらさん

私もテストサイトでフロントページタイプの降順にしてご案内いただいたコードを試してみましたが、カテゴリーのインデックスカードはランダムにならないようです。

もしかしたら、私の設定が間違っているのかもしれません。

This post was modified 2年前 by リフィトリー

   
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 3年前
投稿: 6929
 

私は、基本的に投稿は「Uncategorized」にしているのですが・・・。

新着部分は以下。

 
 
カテゴリー部分は以下です。
 
 
functions.phpに追加すると。
 
リロードすると順番は変わります。
 
 
フロントページタイプは「カテゴリごと」になっていますでしょうか。
 
 
【追記】
 
すみません、そろそろ休みます。

   
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 5年前
投稿: 6845
 

@mk2_mk2 さん  わいひらさん

 

「表示形式」を「カテゴリごと」にしたら、意図したとおりになっているようです。

 

私が、「表示形式」を「カテゴリごと(2カラム)」に設定していたのがいけなかったようです。

 

「カテゴリごと(2カラム)」でも同様にランダムにするには、コードに少し手を加えないといけないのでしょうか?

 

あ、でもPHPのカスタマイズは基本的にはサポートには含まれないのでしたね・・

 

でも考えてみたら、このパターンはちょっと需要がありそうな気もしなくもないです。

 

This post was modified 2年前 2回 by リフィトリー

   
(@masaboo)
Trusted Member Registered
結合: 3年前
投稿: 45
Topic starter  

わいひらさん リフィトリーさん mk2さん

 

遅くまで検証までしていただきありがとうございました。

さきほど、問題なく理想の動きとなることを確認いたしました。

知識不足で大変お手数をおかけしました。

感謝しております。

本当にありがとうございました。

 


   
(@akira)
Famed Member Registered
結合: 6年前
投稿: 1657
 

わいひらさん、ありがとうございます。お手数をおかけしました。

リフィトリーさん

「カテゴリごと(2カラム)」でも同様にランダムにするには、コードに少し手を加えないといけないのでしょうか?

「カテゴリごと(2カラム)」「カテゴリごと(3カラム)」は、別の関数で作られています。今回のフィルターフックは無関係です。

「カテゴリごと(2カラム)」「カテゴリごと(3カラム)」でも同様のランダムにしたい場合は、まずは以下の部分の $atts を変更するフィルターフックの追加の要望を出さないといけません。

https://github.com/yhira/cocoon/blob/master/tmp/list-category-columns.php#L65

This post was modified 2年前 by Akira

   
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 5年前
投稿: 6845
 

akira さん

投稿者:: @akira

「カテゴリごと(2カラム)」「カテゴリごと(3カラム)」は、別の関数で作られています。今回のフィルターフックは無関係です。

ご教示いただき、ありがとうございます。

 

どおりでランダムにならなかった訳ですね。


   
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 
投稿者:: @leafytree

私が、「表示形式」を「カテゴリごと(2カラム)」に設定していたのがいけなかったようです。

 

「カテゴリごと(2カラム)」でも同様にランダムにするには、コードに少し手を加えないといけないのでしょうか?

ご指摘ありがとうございます!
冒頭の書き込みが「カテゴリごと」だったので、それのことしか考えてませんでした。
「カテゴリごと(2カラム・3カラム)」だとダメなんですね。
こちらまではテストしていませんでした。

「カテゴリごと(2カラム・3カラム)」にも後で何かしらのフックを追加しておこうと思います。
サンプルコードも書いたら、またこちらに書き込みます。


   
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 
投稿者:: @masaboo

できればなのですが、戻したい時に元に戻せる様に、masterを上書く方法ではなくfunctions.phpに貼るりつける方法でクリアできればと思っているのですが、functions.phpに貼るりつけて正常に動くコードをいただくことは難しいでしょうか。

もし、親テーマをアップしたことで不具合が起きたとしても、こちらの方法で比較的手軽にダウングレードできるのであまり心配することはないと思います。

Cocoonテーマを手動でダウングレードする最も手軽な方法
https://wp-cocoon.com/manual-downgrade-of-cocoon-theme/

不都合が出たら上記方法で元に戻せます。


   
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 
投稿者:: @akira

「カテゴリごと(2カラム)」「カテゴリごと(3カラム)」でも同様のランダムにしたい場合は、まずは以下の部分の $atts を変更するフィルターフックの追加の要望を出さないといけません。

https://github.com/yhira/cocoon/blob/master/tmp/list-category-columns.php#L65

こちらも追加しておきます。


   
(@masaboo)
Trusted Member Registered
結合: 3年前
投稿: 45
Topic starter  

@yhira 

 

ご丁寧にありがとうございます。

全く不具合なくランダム表示されております。

どうしてもわからない時はまたご相談させてください。

ありがとうございました。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 

「タブ一覧」「カテゴリごと(2カラム)」「カテゴリごと(3カラム)」でもカスタマイズするとランダム表示できるようにフックを追加しておきました。
------------------------------------------------
https://github.com/yhira/cocoon
開発中の最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。

WordPressでの手動アップデート方法はこちら
https://wp-cocoon.com/manual-update-of-cocoon-theme/
------------------------------------------------


   
Akira and さる子 reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 

「タブ一覧」のカテゴリだけをランダム表示するサンプルコード。
https://github.com/yhira/cocoon/blob/ec909c2dc23b0ee22046e52d2df0dcb1df3974d7/tmp/list-tab-index.php#L62

//フロントページタイプの「タブ一覧」のカテゴリーだけランダム表示
add_filter('list_category_tab_args', function ($args, $cat_id){
  $args['orderby'] = 'rand';
  return $args;
}, 10, 2);

   
さる子 reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 

「カテゴリごと(2カラム)」「カテゴリごと(3カラム)」のカテゴリだけをランダム表示するサンプルコード。
https://github.com/yhira/cocoon/blob/ec909c2dc23b0ee22046e52d2df0dcb1df3974d7/tmp/list-category-columns.php#L64

//フロントページタイプの「カテゴリごと(2カラム・3カラム)」カテゴリだけランダム表示
add_filter('list_category_column_atts', function ($atts, $cat_id){
  $atts['random'] = 1;
  return $atts;
}, 10, 2);

   
さる子 reacted
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 5年前
投稿: 6845
 

@yhira さん

ローカルのテストサイトで「タブ一覧」と「カテゴリごと(2カラム)」と「カテゴリごと(3カラム)」も試してみました。

 

意図したとおり、カテゴリ一のエントリーカードはランダム表示になりました。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16479
 

ご確認いただきありがとうございます!
タブ、カテゴリごと、カテゴリごと(カラム)それぞれ全て実装方法が違うので、カスタマイズ方法も全て違う手法になってしまいました ? 


   
共有:

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

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

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

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

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

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

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

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