-
投稿者投稿
-
2023年12月1日 1:41 AM #133919
【お使いの Snow Monkey のバージョン】25.2.6
【お使いの Snow Monkey Blocks のバージョン】20.3.5
【お使いの Snow Monkey Editor のバージョン】9.3.2
【お使いのブラウザ】chrome(OSX)
【当該サイトのURL】https://x01.piemx.me/### 実現したいこと
最新の投稿(最近の投稿)の表示について
SnowMonkeyBlocksの「最近の投稿」にて
テキスト2において、投稿タイトル、カテゴリー、抜粋を表示したいですが
抜粋が表示できません。また表示件数が12件までしか表示できません(全件30件程度を表示したいです)
標準のブロック「最新の投稿」の場合
投稿カテゴリーが表示されません
件数は100件まで表示可能になっています
オプションが多いですどちらかのブロックで3つの要素を表示したいです
### 発生している問題
SnowMonkeyBlocksの「最近の投稿」:抜粋が表示できません。
標準のブロック「最新の投稿」:投稿カテゴリー
### 試したこと
SnowMonkeyBlocksのHTMLコードをみると抜粋があるので、
CSSで非表示になっているのかと思い、追加CSSをカスタマイズ
してみましたが、うまくいきませんでした.c-entry-summary__content {
display:visible;
}♥ 0Who liked: No user2023年12月1日 3:36 PM #133937Snow Monkey Blocks の「最近の投稿」ブロックの場合、コードを追加すれば表示は可能です。
下記の PHP コードを My Snow Monkey プラグインか子テーマの
functions.php
に追加してみてください。add_filter( 'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // レイアウトが「テキスト2」のとき if ( 'text2' === $args['vars']['_entries_layout'] ) { // 抜粋の表示を有効化 $args['vars']['_display_item_excerpt'] = true; // 表示件数を変更 $args['vars']['_posts_query']['posts_per_page'] = 30; } } return $args; } );
これで抜粋が HTML 上では出力されるようになりますが、CSS 的には非表示になっているので、下記の CSS を追加 CSS に追加してみてください。
.c-entries--text2 .c-entry-summary__content { display: block; }
ただ、ここから見た目の調整は CSS でできる範囲しか難しいので、なるべく思い通りの表示に近づけたいのであれば、クエリーブロックで組み立てるとか、一覧を表示するショートコードを自作するのも手かもしれません。
♥ 0Who liked: No user2023年12月1日 10:44 PM #1339462023年12月2日 8:57 AM #133963抜粋、綺麗にはいりました。ただ文字数の調整がどうしたらいいかわかりません。
30から50文字ぐらいに制限したいのですが、可能でしょうか?基本的に一覧画面では、1から2行コメントにしたいのです。
♥ 0Who liked: No user2023年12月2日 9:29 AM #133965あれ、My Snow Monkeyをいれたらエラーがでて、/** */でコメントにすると消えました
なのでCSSだけで見えてる形です。これも確認お願いします。♥ 0Who liked: No user2023年12月2日 11:09 PM #13399630から50文字ぐらいに制限したいのですが、可能でしょうか?
先のフックでカスタマイズしたテンプレート引数のところで抜粋の文字数のパラーメーターもあるのでそれで調整してみてください。
...省略... // 表示件数を変更 $args['vars']['_posts_query']['posts_per_page'] = 30; // 抜粋の文字数を変更 $args['vars']['_posts_query']['_excerpt_length'] = 60; // 任意の数値を設定してください ...省略...
あれ、My Snow Monkeyをいれたらエラーがでて、/** */でコメントにすると消えました
具体的にどのようなエラーがでましたか?
♥ 0Who liked: No user2023年12月3日 6:04 AM #134001文字数ありがとうございます
エラーメッセージは以下の通りです—
‘
Fatal error: Uncaught Error: Cannot use object of type WP_Query as array in /home/xs565030/piemx.me/public_html/x01.piemx.me/wp-content/plugins/my-snow-monkey/my-snow-monkey.php:46 Stack trace: #0 /home/xs565030/piemx.me/public_html/x01.piemx.me/wp-includes/class-wp-hook.php(324): {closure}(Array) #1 /home/xs565030/piemx.me/public_html/x01.piemx.me/wp-includes/plugin.php(205): WP_Hook->apply_filters(Array, Array) #2 /home/xs565030/piemx.me/public_html/x01.piemx.me/wp-content/themes/snow-monkey/app/constructor/view-controller.php(75): apply_filters(‘snow_monkey_get…’, Array) #3 /home/xs565030/piemx.me/public_html/x01.piemx.me/wp-includes/class-wp-hook.php(324): {closure}(Array) #4 /home/xs565030/piemx.me/public_html/x01.piemx.me/wp-includes/plugin.php(205): WP_Hook->apply_filters(Array, Array) #5 /home/xs565030/piemx.me/public_html/x01.piemx.me/wp-content/themes/snow-monkey/vendor/inc2734/wp-view-controller/src/App/Contract/Template_Tag.php(284): apply_filters(‘inc2734_wp_view…’, Array) #6 /home/xs565030/piemx.me/publi in /home/xs565030/piemx.me/public_html/x01.piemx.me/wp-content/plugins/my-snow-monkey/my-snow-monkey.php on line 46—
‘現在のコード
‘
/** 投稿一覧の制御 */ add_filter( 'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // レイアウトが「テキスト2」のとき if ( 'text2' === $args['vars']['_entries_layout'] ) { // 抜粋の表示を有効化 $args['vars']['_display_item_excerpt'] = true; // 表示件数を変更 $args['vars']['_posts_query']['posts_per_page'] = 30; // 抜粋の文字数を変更 $args['vars']['_posts_query']['_excerpt_length'] = 30; // 任意の数値を設定してください } } return $args; } );
‘
♥ 0Who liked: No user2023年12月3日 10:52 AM #134007ありがとうございます! 下記のように書き換えてみてください。
(表示件数を変更、抜粋の文字数を変更のところを書き換えました)/** 投稿一覧の制御 */ add_filter( 'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // レイアウトが「テキスト2」のとき if ( 'text2' === $args['vars']['_entries_layout'] ) { // 抜粋の表示を有効化 $args['vars']['_display_item_excerpt'] = true; // 表示件数を変更 $args['vars']['_posts_query']->posts_per_page = 30; // 抜粋の文字数を変更 $args['vars']['_excerpt_length'] = 30; // 任意の数値を設定してください } } return $args; } );
♥ 0Who liked: No user2023年12月3日 2:45 PM #134013ありがとうございます! 問題なく表示されました!
最後に1点、このブロックの場合、ソート順は新着順(日付降順)ですか?
もし50音順(A→Z)などにすることになったら、さらにフィルターを追加する必要がありますか?こちらのほう確認させて下さい
♥ 0Who liked: No user2023年12月4日 9:20 AM #134036最後に1点、このブロックの場合、ソート順は新着順(日付降順)ですか?
ブロック側では特に指定していないので WordPress コアのデフォルトの挙動になります。具体的にデフォルトの挙動が何なのかは僕も詳しくありませんが、基本的には公開日の降順だと思います(そこが被ったときにどうとかまではわかりません)。変更したい場合は
_posts_query
のところにパラメーターを追加する必要があります。_posts_query
にはWP_Query
が入っているので、WP_Query
に指定できるパラメーターが指定できます。参考:
♥ 0Who liked: No user2023年12月4日 10:16 AM #134040なるほど、なんとなくわかりました
ただ、具体的に頂いたコードにどの様に実装していいか判らないので
もし50音でとなったらまたチケットを開いて質問させてください一端とじますね ありがとうございます。
♥ 0Who liked: No user2023年12月4日 10:39 AM #134044すみません、一端と閉じたのですが、ソートがうまくいかなくって
以下のコードを加えてみました。// 並び順を変更 $args['vars']['_posts_query']->orderby = 'title'; $args['vars']['_posts_query']->order = 'ASC';
50音順にならびません。パラメーターまちがえてるでしょうか?
♥ 0Who liked: No user2023年12月5日 10:12 AM #134078書き直してみました! 下記試してみてください。
add_filter( 'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // レイアウトが「テキスト2」のとき if ( 'text2' === $args['vars']['_entries_layout'] ) { // 抜粋の表示を有効化 $args['vars']['_display_item_excerpt'] = true; // 抜粋の文字数を変更 $args['vars']['_excerpt_length'] = 30; // 任意の数値を設定してください // 表示件数を変更 $args['vars']['_posts_query']->set( 'posts_per_page', 30 ); // 並び順を変更 $args['vars']['_posts_query']->set( 'orderby', 'title' ); $args['vars']['_posts_query']->set( 'order', 'ASC' ); // セットしたクエリーをもとに WP_Query をリセット $args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars ); } } return $args; } );
♥ 0Who liked: No user2023年12月6日 5:44 PM #13414450音に並びました!
->set( ‘orderby’, ‘title’ );
なんですね
ありがとうございます!
♥ 0Who liked: No user2023年12月6日 6:38 PM #134147それと
$args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars );
が重要でした。
解決済みということで、トピックのクローズをお願いします!
♥ 0Who liked: No user -
投稿者投稿
- トピック「最新の投稿の抜粋と表示件数」には新しい返信をつけることはできません。