0
votes

Im trying to sort my wordpress feed with a ACF field that is set to 1-10 in categories. So in wp_termmeta i have meta_key: category_order that have a meta_value that is a number from 1-10. I wanna sort my feed items with the meta_value ASC.

enter image description here

When im trying the code, the feed items disappeared. :

   $query->set('meta_key', 'category_order');
   $query->set('orderby', 'meta_value_num');
   $query->set('order', 'ASC');

This is my code :

       function my_filter_feed( $query ) {
                
                if( $query->is_feed('') ) {

                    $query->set( 'date_query', array(
                        array(
                            'after' => '7 days ago',
                            'inclusive' => true 
                        )
                    ) );
                    $query->set( 'post_type', array( 'post', 'event', 'page' ) );
                    $query->set( 'posts_per_page', '-1' );
                    $query->set('meta_key', 'category_order');   
                    $query->set('orderby', 'meta_value');   
                    $query->set('order', 'ASC'); 
                }
            }
            add_action( 'pre_get_posts', 'my_filter_feed' );

Is it a way to do this or im doing something wrong?