サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
トピックスターター 2025年1月6日 01:34
度々お世話になります。今回ご教授いただきたいのは、タイトルの通りになります
https://enj-blog.com/?cat=0 こちらの新着順で表示されたページと同じデザインで更新順での別ページを表示させたいと思っています。
cocoonの設定で「更新順」の項目もあるのは分かっていますが、これだと、新着順のページが意味なくなります
COCOONブロックで追加できる「新着記事」も試してみましたけど、Nextボタンなども表示されないのでこれも思い通りになりません。
ヒントなど頂ければと思います。よろしくお願いします
2025年1月6日 02:33
●Cocoon設定
[インデックス]→フロントページタイプ「カテゴリーごと(2カラム)」
[インデックス]→並び順「投稿日(降順)」
●要件
通常、フロントページの「新着記事」には投稿日順で表示される。
このため、「もっと見る」ボタンをクリックした場合、一覧ページには投稿日順でエントリーカードが並ぶ。
このため、「もっと見る」ボタンをクリックした場合、一覧ページには投稿日順でエントリーカードが並ぶ。
それとは別に、更新日順で一覧ページを表示させたい。
●回答
リンク先の定義
更新日順で一覧ページを表示する場合、URLに&orderby=modifiedとパラメータを追加します。
※カテゴリーごと(2カラム)の場合、パラメータの?cat=0も忘れず指定してください。
https://enj-blog.com/?cat=0&orderby=modified
PHPを追加
以下のコードをfunctions.phpに追加します。
※自己責任でお願いします。
※自己責任でお願いします。
add_action( 'pre_get_posts', function($query) { // 管理画面やメインクエリ以外 if (!is_admin() && $query->is_main_query()) { // GETパラメータで「orderby=modified」が指定された場合 if (isset($_GET['orderby']) && $_GET['orderby'] === 'modified') { // 更新順に設定 $query->set('orderby', 'modified'); // 降順(更新日時が新しい順) $query->set('order', 'DESC'); } } });
わいひら reacted
トピックスターター 2025年1月6日 22:13
大門さんありがとうございます
パラメータの追加だけで表示できることを確認しました。
しかし、このパラメータを応用してURLの「?cat=0&orderby=modified」の部分を適当なフォルダ名みたく色々思考錯誤したところ、行き詰ってしまいました
よくある「add_rewrite_rule」を使ったのですが、「cat=0」だけTOPページが表示されてしまいます
cat=1 やcat=4 などだとそれぞれのカテゴリーが更新順で表示されます
function.phpに追加した部分
function custom_rewrite_rule(){ add_rewrite_rule('artic?$','index.php?cat=0&orderby=modified','top'); } add_action('init','custom_rewrite_rule');
アクセス https://enj-blog.com/artic/
何か対応方法がございましたら、よろしくお願いします
2025年1月6日 22:50
パラメータの追加だけで表示できることを確認しました。
cat=0以外にすると該当のカテゴリー一覧が更新順で表示されると思います。
書かれたコードですが、URLにarticが含まれると、index.phpが呼ばれ結局、https://enj-blog.com/になり。
index.php自体が、カテゴリーごと(2カラム)のフロントページが表示され、投稿一覧にはなりません。
対面で対応しているわけではなく、期待とするレイアウトとかイメージが無いので、何をしたいのか、文面からは読み取れません。
フォーラムの注記にもありますが、これ以上は、ご自身で対応願います。
基本的に、独自で行ったカスタマイズにより起きた不具合の原因究明や、JavaScript、PHPカスタマイズはサポート対象外させていただいています。
トピックスターター 2025年1月7日 02:24
質問の意図が分かりにくくてすみません
「 https://enj-blog.com/?cat=0&orderby=modified」と同じページを
「 https://enj-blog.com/artic/」というURLで表示させたかったのです
https://turicco.com/article/ このページのようにしたい
2025年1月7日 09:19
はっちゃんページを参考にしたのですね...
はっちゃんページのフロントページは、Cocoon標準のフロントページではありません。
固定ページで作成しています。
構成は以下の通り。
「タブ」ブロックで作成。
新着記事タブ
- 「新着記事」ブロック(投稿順)でカードを3枚配置
- 「記事一覧を見る」ボタンのリンク先をURL?cat=0に設定(新着記事)
更新記事タブ
- 「新着記事」ブロック(更新順)でカードを3枚配置
- 「記事一覧を見る」ボタンのリンク先を固定ページ(スラッグ名article)に設定
→ここで私が書いたリンク先を、URL?cat=0&orderby=modifiedにすればよく
上記ですが、新着記事も更新記事のリンク先は、同じ新着記事一覧(Cocoon設定→インデックス→並び「更新日」)です。
フロントページを固定ページに設定した際の、投稿ページ(固定ページarticle)を選択したのだと思います。
そもそもまナカミツさんは間違っていますし、私の書いたコードそのものを理解できてません。
そういう方は以下で購入して、勉強してください。
https://turicco.com/cocoon-toppage/
この投稿は7時間前 3回ずつ大門未知子に変更されました
トピックスターター 2025年1月7日 15:28
やっと理想通りに動きました。
固定ページで作っていることやタブの作り方とかはさすがに分かります。
ローカルでテスト中なので見せられませんが・・
上記回答の下の部分
フロントページを固定ページに設定した際の、投稿ページ(固定ページarticle)を選択したのだと思います
ここの意味がなかなか分からず手間どりました
空のページを作るだけでいいとは盲点でした
すごくシンプルなのに意味不明なことをやってきた気がします(恥ずかしい)
ありがとうございました
大門未知子 reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。