カスタムフィールドで並び順を制御したい

0
Who liked: No user
2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #136396
    アバター画像otomeweb
    参加者
    22

    【お使いの Snow Monkey のバージョン】 25.2.7
    【お使いの Snow Monkey Blocks のバージョン】20.3.5
    【お使いの Snow Monkey Editor のバージョン】9.3.2
    【お使いのブラウザ】chrome
    【当該サイトのURL】
    ホーム固定ページ:https://j-nation-s.jp/
    投稿アーカイブ:https://j-nation-s.jp/%e7%b5%84%e5%90%88%e4%b8%80%e8%a6%a7/

    ### 実現したいこと
    店舗の表示順を任意にしたい(お客様がいじれるようにしたい)

    ### 発生している問題
    Advanced Custom Fieldで並び順(sort)というカスタムフィールドを追加して
    前回、いただいたコードをもとにカスタマイズしてみたが、並ばない

    ### 試したこと
    Advanced Custom Field
    – ラベル:並び順
    – 名前:sort
    – タイプ:テキスト

    /**
    投稿一覧の制御
     */
    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'] = 40; // 任意の数値を設定してください
    				// 表示件数を変更
    				$args['vars']['_posts_query']->set( 'posts_per_page', 50 );
    				// 並び順を変更
    				$query_args['meta_key'] = 'sort';  // 使用するカスタムフィールドのフィールド名
    				$query_args['orderby']  = 'meta_value_num'; // カスタムフィールドの値を数値として扱う
    				$query_args['order']    = 'ASC';           // 降順(大きい順)
    				//$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
    Who liked: No user
    #136417
    アバター画像キタジマ タカシ
    参加者
    2421

    $query_args という配列に値をセットされていますが、そもそも $query_args という変数自体が存在していないのに値をセットしているように見えます。

    $args['vars']['_posts_query']->set( 'meta_key', 'sort' );
    $args['vars']['_posts_query']->set( 'orderby', 'meta_value_num' );
    $args['vars']['_posts_query']->set( 'order', 'ASC' );

    にするとどうでしょうか?

    0
    Who liked: No user
2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタムフィールドで並び順を制御したい」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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