特定のカテゴリーに属する投稿一覧の場合のみ公開日が古いものから並び替えたい

0
いいねをした人: 居ません
  • このトピックには5件の返信、4人の参加者があり、最後にOlein_jpにより3年前に更新されました。
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #72482
    Olein_jp
    参加者
    545

    【お使いの Snow Monkey のバージョン】14.0.2
    【お使いの Snow Monkey Blocks のバージョン】11.0.2
    【お使いの Snow Monkey Diet のバージョン】0.6.1
    【お使いの Snow Monkey Editor のバージョン】5.0.1
    【お使いの Snow Monkey Forms のバージョン】1.5.0
    【お使いのブラウザ】Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36
    【当該サイトのURL】

    ### 実現したいこと
    任意のカテゴリーに属する投稿一覧を新しい投稿順ではなく古い投稿順にする方法

    ### 発生している問題
    order などを書き換えてもうまくいってない。

    ### 試したこと
    単純に以下のようにカテゴリー内記事一覧を表示する際に以下のように書いてみましたがうまくいかず…

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/archive/archive',
    	function( $args ) {
    		if ( is_category() ) {
    			$args['orderby'] = 'menu_order';
    			$args['order'] = 'ASC';
    			return $args;
    		} else {
    			return $args;
    		}
    	}
    );

    すごく単純なことなのですが、アドバイスいただけますと幸いです!

    0
    いいねをした人: 居ません
    #72487
    アクツ
    参加者
    167

    オレインさんこんにちは!

    全然検証とかしてないのですが、試してみたコードのorderbymenu_order なのですが、こちらって投稿の順序とか指定ありますでしょうか(投稿がデフォルトの状態のままだとページ順序で動かないので、想定どおりの順番にならない可能性がありそうです)

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

    _posts_query の中の order と orderby を指定してみてください!あと、公開日順なら menu_order じゃなくて date ですかね。

    0
    いいねをした人: 居ません
    #72489
    株式会社 蔵守
    参加者
    24

    カテゴリーページでの表示ならば pre_get_posts でなんとかなりそうな気も

    
    add_action(
    	'pre_get_posts',
    	function( $query ) {
    
    		if ( is_admin() || ! $query->is_main_query() ) {
    			return;
    		}
    
    		if ( $query->is_category() ) {
    			$query->set( 'order_by', 'order' );
    			$query->set( 'order', 'ASC' );
    			return;
    		}
    
    	},
    	1
    );
    

    こんな感じで

    3
    いいねをした人: 居ません
    #72493
    キタジマ タカシ
    参加者
    2244

    確かに!

    0
    いいねをした人: 居ません
    #72494
    Olein_jp
    参加者
    545

    皆さま、コメントありがとうございます!

    確かに pre_get_posts でいけますね!その結果、株式会社 蔵守さんからのコードを参考に以下のように書いて意図した結果を得ることができました!

    add_action(
    	'pre_get_posts',
    	function( $query ) {
    
    		if ( is_admin() || ! $query->is_main_query() ) {
    			return;
    		}
    
    		if ( $query->is_category() ) {
    			$query->set( 'orderby', 'date' );
    			$query->set( 'order', 'ASC' );
    			return;
    		}
    
    	},
    	1
    );

    全然頭の中に pre_get_posts でいけるという発想が出てきていなくて、めちゃくちゃ助かりました!ありがとうございます!

    閉じさせていただきます!

    1
    いいねをした人: 居ません
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • トピック「特定のカテゴリーに属する投稿一覧の場合のみ公開日が古いものから並び替えたい」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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