Warning: Array to string conversion in /mnt/data/home/502433.cloudwaysapps.com/rhbymdevka/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 808
Warning: foreach() argument must be of type array|object, string given in /mnt/data/home/502433.cloudwaysapps.com/rhbymdevka/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 813
Warning: Array to string conversion in /mnt/data/home/502433.cloudwaysapps.com/rhbymdevka/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 808
PUM_Repository_Themes::build_wp_query_args( array $args = array() )
Build the args for WP Query.
Description Description
Warning: Array to string conversion in /mnt/data/home/502433.cloudwaysapps.com/rhbymdevka/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 808
Warning: foreach() argument must be of type array|object, string given in /mnt/data/home/502433.cloudwaysapps.com/rhbymdevka/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 813
Warning: Array to string conversion in /mnt/data/home/502433.cloudwaysapps.com/rhbymdevka/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 808
Parameters Parameters
- $args
-
(Optional)
Default value: array()
Return Return
(array)
Source Source
File: classes/Repository/Themes.php
protected function build_wp_query_args( $args = array() ) { // Ordering $orderby = array(); // Meta Query if ( ! isset( $args['meta_query'] ) ) { $args['meta_query'] = array( 'relation' => 'AND', ); } if ( isset( $args['themes'] ) ) { /** * If Looking for specific themes. No need for filtering. */ $args['post__in'] = wp_parse_id_list( $args['themes'] ); unset( $args['themes'] ); } /** * Apply easy ordering options or allow setting it manually. */ if ( ! isset( $args['orderby'] ) ) { $orderby['post_modified'] = isset( $args['order'] ) ? $args['order'] : 'DESC'; } elseif ( ! empty( $args['post__in'] ) && in_array( $args['orderby'], array( 'post__in', 'user_order' ) ) ) { // This one can't be part of an $orderby array so needs to override. $orderby = 'post__in'; } else { switch ( $args['orderby'] ) { case 'name' : $orderby['post_title'] = isset( $args['order'] ) ? $args['order'] : 'ASC'; break; case 'date' : $orderby['post_date'] = isset( $args['order'] ) ? $args['order'] : 'DESC'; break; case 'activity': $orderby['post_modified'] = isset( $args['order'] ) ? $args['order'] : 'DESC'; break; default: $orderby[ $args['orderby'] ] = isset( $args['order'] ) ? $args['order'] : 'DESC'; break; } } // Replace the orderby property with the new $orderby array. $args['orderby'] = $orderby; // Clear unneeded values. unset( $args['order'] ); return parent::build_wp_query_args( $args ); }
Expand full source code Collapse full source code View on Trac