記事一覧、カテゴリー一覧での抜粋と並び順制御

0
いいねをした人: 居ません
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #134165
    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/%e7%b5%84%e5%90%88%e4%b8%80%e8%a6%a7/
    カテゴリー:https://x01.piemx.me/category/%e4%ba%8c%e4%b8%81%e7%9b%ae%ef%bc%88%e5%8c%97%ef%bc%89/

    ### 実現したいこと

    全回ホームのテキスト2で実現して頂いた件と同様に、投稿一覧(ホームページ設定)とカテゴリーの並び順と抜粋の文字数、表示件数の制御をしたいです

    ### 発生している問題

    全回のコードを元に書き換えてみましたが、反映されませんでした。

    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'] ) {
    			// レイアウトが「パネル」のとき
    			if ( 'panel' === $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
    いいねをした人: 居ません
    #134221
    キタジマ タカシ
    参加者
    2254

    snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts フィルターフックはウィジェットとブロックにしか効きません。

    一覧ページの記事一覧部分は、ウィジェットでもブロックでもないため、別のフックで書き換える必要があります。下記試してみてください。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/common/entries/entries',
    	function( $args ) {
    		// 一覧のとき
    		if ( 'archive' === $args['vars']['_context'] ) {
    			// レイアウトが「パネル」のとき
    			if ( 'panel' === $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
    いいねをした人: 居ません
    #134237
    otomeweb
    参加者
    11

    フィルターフックがちがってたのですね
    一杯あって覚えるのが大変ですね

    希望どおり並びました ありがとうございます

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

    Snow Monkey の独自フックは、なるべく統一された方法で、アップデート時のメンテナンスを最小限に抑えられたら良いなということで用意しているものなので、無理に覚えずに WordPress 本来の方法でやっても良いと思います。今回の場合なら pre_get_posts フィルターフックでクエリを改変し、子テーマからのテンプレートの上書きで表示を書き換え、excerpt_length フィルターフックで抜粋の文字数を調整という感じでしょうか。

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

    0
    いいねをした人: 居ません
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • トピック「記事一覧、カテゴリー一覧での抜粋と並び順制御」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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