サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2021年7月30日 16:37
新着記事を表示するのに、以下のショートコードを設定しました。
タグで記事の絞り込みをしており、かつstickyで固定表示させています。
1 [new_list sticky=1 tags="1" post_type="post"]
2 [new_list sticky=1 tags="2" post_type="post"]
3 [new_list sticky=1 tags="3" post_type="post"]
タグで絞り込みして、
固定表示されているものが上位に表示される、
というイメージでいたのですが、
実際は、固定表示されているものはsticky=1の指定があるもの全てに表示されてしまいます。
これを希望通りにする方法はあるでしょうか?
よろしくお願いします。
Topic starter
2021年7月30日 17:01
すみません、上で欠けている部分です。
1 [new_list sticky=1 tags="1" post_type="post"]
2 [new_list sticky=1 tags="2" post_type="post"]
3 [new_list sticky=1 tags="3" post_type="post"]
2021年7月30日 19:33
sticky=1
は表示です。「sticky=0」が表示しない設定です。
実際のURLがないのであまりよく意図がわかりませんのでなんとも。アプローチ方法は異なりますが、
ダッシュボード>外観>ウィジェットエリアの「新着記事」を利用する手もありそうです。
dekazo reacted
2021年7月31日 01:20
dekazoさんが仰っているのは、こういうことかな。。。というのを画像にしてみました。
「tag」や「先頭に固定」の条件は、画像に書いた通りです。
(青字・赤字部分。)
ショートコードは、以下のように設定しました。
[new_list sticky=1 tags="2" post_type="post"]
おそらく「青字のものだけを抽出したい」ということかと思いました。
現状は、「先頭に固定」はtagによらず抽出する仕様のようです。
どちらを優先するか。。。というのは、人それぞれなところもありと思いますし、難しいなぁ…と。
とりあえず、必要ないものはCSSで消してしまうという対応ではどうでしょうか。。。と思います。
どこにショートコードを書くかで、セレクタは変わってしまうとは思いますが。
(環境情報のご提示がありませんから、実際の状態が分かりません。)
(環境情報のご提示がありませんから、実際の状態が分かりません。)
例えば、消したいものが2番目であれば、以下のような感じで消すことはできるように思います。
(他にもやり方はあると思います。)
(他にもやり方はあると思います。)
.new-entry-cards a:nth-child(2) { display: none; }
上記の添付画像であれば、「マイクロバルーン」の記事が非表示になります。
2021年7月31日 07:23
dekazoさん
「先頭に固定」 の記事が、そんなに頻繁に増えたり変わっていくものなのか。。。とは思いますけど。
どうしてもお好みに、ということであれば、以下の辺りをオーバーライドするのかなぁと思います。
もしくは、以下辺りか。
https://github.com/yhira/cocoon/blob/5b38f5317e7824d53f13939bca6dc01e4fceda46/lib/utils.php#L2713
スマホから調べていますので、怪しいかもしれませんけど。
2021年7月31日 09:15
前略、dekazoさん
目的と合致するかどうかはわかりませんが、「ナビカード」なら、意図した記事を並べられるみたいです。
意図した記事一覧を作成できる「ナビカード」ショートコードの使い方
2021年7月31日 18:18
不具合か仕様か迷いますが、タグ(やカテゴリー)で絞り込みをしてるのにそれに該当しない記事が表示されるのは直感に反しますね。
Cocoon自体が修正されるにしろ各自のカスタマイズで対応するにしろ、lib/html-forms.phpの1085行目辺りで、pos__not_inに加える前にget_sticky_post_ids()で取得できたIDの記事に付いてるカテゴリーやタグを確認する必要がありそうです。
2021年8月2日 19:24
取り立てて、タグ記事を出力している時でも、固定記事も全部表示させるような処理は書いていないようには見えます。
なので、WordPressデフォルトでこういう動作なのかも。
実装するには、get_sticky_post_ids()で取得したIDの中で、タグ(カテゴリーのも必要かも)に含まれないものをpost__not_inで除外するしかないのだろうか。
それとも他に何か良い方法があるんだろうか。
2021年8月2日 20:22
こちら参考になりそうですか?
実際の動作確認はしていませんが、WordPressのデフォルト機能で実装する分、期待通りの動作をしそうな予感…?
注意: 先頭固定表示の投稿がある場合、欲しいかどうかに関係なくその投稿も取得されます(先頭に!)。この動作を避けるには ignore_sticky_posts を使ってください。
- ignore_sticky_posts (真偽値) - 先頭固定表示の投稿を無視します(バージョン 3.1 以降で使えます。非推奨になった caller_get_posts パラメータを置き換えます)。デフォルトは false で、無視しません(先頭に含めます)。true にすると無視します。なお、先頭固定表示の投稿を無視(除外)しても先頭に出てこないだけで、投稿リストにそれらの投稿が本来並ぶべき位置には出てきます。
わいひら reacted
2021年8月3日 19:50
ignore_sticky_postsなんてオプションがあるんですね!知りませんでした。
ただ、今回問題があるのは 'ignore_sticky_posts' => false,のときなので、デフォルトの動作は変わらないかもしれません。
ignore_sticky_postsを使った方が明確なので、変更しておきました。
https://github.com/yhira/cocoon/commit/eabddbadfe20a071b7e5062060fd272af31d20e6
はる reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。