wp_query sort by meta value code example

Example 1: get post order by meta value int

$defaults = array(
  	'numberposts'      => -1,
	'post_type'        => 'agent_listing',
  	'meta_key'	       => 'oepl_order_no',
  	'orderby'          => 'meta_value_num',
  	'order'            => 'ASC',
  	'suppress_filters' => false
);

'orderby' => 'meta_value_num', // for int field
'orderby' => 'meta_value', // text field

Example 2: order by meta_query wordpress

$q = new WP_Query( 
    array(
        'meta_key' => 'population', //setting the meta_key which will be used to order
        'orderby' => 'meta_value', //if the meta_key (population) is numeric use meta_value_num instead
        'order' => 'DESC', //setting order direction
        'meta_query' => array(
            'relation' => 'AND', //setting relation between queries group
            array(
                'relation' => 'OR', //setting relation between this inside query
                array(
                    'key' => 'state',
                    'value' => 'Wisconsin',
                ),
                array(
                    'key' => 'timezone',
                    'value' => 'central',
                )
            ),
            array(
                'key' => 'city',
                'compare' => 'EXISTS',
            )
        )
    )           
);

Tags:

Php Example