最新の投稿の抜粋と表示件数

0
いいねをした人: 居ません
15件の投稿を表示中 - 1 - 15件目 (全15件中)
  • 投稿者
    投稿
  • #133919
    otomeweb
    参加者
    11

    【お使いの 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;
    }

    0
    いいねをした人: 居ません
    #133937
    キタジマ タカシ
    参加者
    2254

    Snow 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 でできる範囲しか難しいので、なるべく思い通りの表示に近づけたいのであれば、クエリーブロックで組み立てるとか、一覧を表示するショートコードを自作するのも手かもしれません。

    0
    いいねをした人: 居ません
    #133946
    otomeweb
    参加者
    11

    ありがとうございます。やっぱり結構カスタマイズ必要なのですね
    月曜日に実装してみて、CSS調整してみます

    いったんありがとうございます
    うまくいったらトピックを閉じますね

    1
    いいねをした人:
    #133963
    otomeweb
    参加者
    11

    抜粋、綺麗にはいりました。ただ文字数の調整がどうしたらいいかわかりません。
    30から50文字ぐらいに制限したいのですが、可能でしょうか?

    基本的に一覧画面では、1から2行コメントにしたいのです。

    0
    いいねをした人: 居ません
    #133965
    otomeweb
    参加者
    11

    あれ、My Snow Monkeyをいれたらエラーがでて、/** */でコメントにすると消えました
    なのでCSSだけで見えてる形です。これも確認お願いします。

    0
    いいねをした人: 居ません
    #133996
    キタジマ タカシ
    参加者
    2254

    30から50文字ぐらいに制限したいのですが、可能でしょうか?

    先のフックでカスタマイズしたテンプレート引数のところで抜粋の文字数のパラーメーターもあるのでそれで調整してみてください。

    ...省略...
    // 表示件数を変更
    $args['vars']['_posts_query']['posts_per_page'] = 30;
    // 抜粋の文字数を変更
    $args['vars']['_posts_query']['_excerpt_length'] = 60; // 任意の数値を設定してください
    ...省略...

    あれ、My Snow Monkeyをいれたらエラーがでて、/** */でコメントにすると消えました

    具体的にどのようなエラーがでましたか?

    0
    いいねをした人: 居ません
    #134001
    otomeweb
    参加者
    11

    文字数ありがとうございます
    エラーメッセージは以下の通りです



    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;
    	}
    );

    0
    いいねをした人: 居ません
    #134007
    キタジマ タカシ
    参加者
    2254

    ありがとうございます! 下記のように書き換えてみてください。
    (表示件数を変更、抜粋の文字数を変更のところを書き換えました)

    /**
    投稿一覧の制御
     */
    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;
    	}
    );
    0
    いいねをした人: 居ません
    #134013
    otomeweb
    参加者
    11

    ありがとうございます! 問題なく表示されました!

    最後に1点、このブロックの場合、ソート順は新着順(日付降順)ですか?
    もし50音順(A→Z)などにすることになったら、さらにフィルターを追加する必要がありますか?

    こちらのほう確認させて下さい

    0
    いいねをした人: 居ません
    #134036
    キタジマ タカシ
    参加者
    2254

    最後に1点、このブロックの場合、ソート順は新着順(日付降順)ですか?

    ブロック側では特に指定していないので WordPress コアのデフォルトの挙動になります。具体的にデフォルトの挙動が何なのかは僕も詳しくありませんが、基本的には公開日の降順だと思います(そこが被ったときにどうとかまではわかりません)。変更したい場合は _posts_query のところにパラメーターを追加する必要があります。_posts_query には WP_Query が入っているので、WP_Query に指定できるパラメーターが指定できます。

    参考:

    0
    いいねをした人: 居ません
    #134040
    otomeweb
    参加者
    11

    なるほど、なんとなくわかりました
    ただ、具体的に頂いたコードにどの様に実装していいか判らないので
    もし50音でとなったらまたチケットを開いて質問させてください

    一端とじますね ありがとうございます。

    0
    いいねをした人: 居ません
    #134044
    otomeweb
    参加者
    11

    すみません、一端と閉じたのですが、ソートがうまくいかなくって
    以下のコードを加えてみました。

    				// 並び順を変更
    				$args['vars']['_posts_query']->orderby = 'title';
    				$args['vars']['_posts_query']->order = 'ASC';

    50音順にならびません。パラメーターまちがえてるでしょうか?

    0
    いいねをした人: 居ません
    #134078
    キタジマ タカシ
    参加者
    2254

    書き直してみました! 下記試してみてください。

    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;
    	}
    );
    0
    いいねをした人: 居ません
    #134144
    otomeweb
    参加者
    11

    50音に並びました!

    ->set( ‘orderby’, ‘title’ );

    なんですね

    ありがとうございます!

    0
    いいねをした人: 居ません
    #134147
    キタジマ タカシ
    参加者
    2254

    それと

    $args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars );
    

    が重要でした。

    解決済みということで、トピックのクローズをお願いします!

    0
    いいねをした人: 居ません
15件の投稿を表示中 - 1 - 15件目 (全15件中)
  • トピック「最新の投稿の抜粋と表示件数」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。