Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $args = array (
- 'post_type' => 'page',
- 'meta_key' => 'someMetaKeyName',
- );
- // The Query
- $query = new WP_Query( $args );
- global $wpdb;
- $pt = 'clients';
- $mk = 'trainerid';
- $mv = $pid;
- $mk1 = 'email';
- $mk2 = 'phone';
- $mk3 = 'gender';
- $mk4 = 'dob';
- $mk5 = 'photo';
- $mk6 = 'registrationts';
- $mk7 = 'activationts';
- $ord = 'p.post_name ASC';
- $sql = "
- SELECT p.ID, p.post_title AS fullname, pm1.meta_value AS email, pm2.meta_value AS phone, pm3.meta_value AS gender, pm4.meta_value AS dob, pm5.meta_value AS photo, pm6.meta_value AS regts, pm7.meta_value AS actemailts
- FROM {$wpdb->posts} p
- LEFT JOIN {$wpdb->postmeta} pm ON pm.post_id = p.ID
- AND pm.meta_key = '{$mk}'
- LEFT JOIN {$wpdb->postmeta} pm1 ON pm1.post_id = p.ID
- AND pm1.meta_key = '{$mk1}'
- LEFT JOIN {$wpdb->postmeta} pm2 ON pm2.post_id = p.ID
- AND pm2.meta_key = '{$mk2}'
- LEFT JOIN {$wpdb->postmeta} pm3 ON pm3.post_id = p.ID
- AND pm3.meta_key = '{$mk3}'
- LEFT JOIN {$wpdb->postmeta} pm4 ON pm4.post_id = p.ID
- AND pm4.meta_key = '{$mk4}'
- LEFT JOIN {$wpdb->postmeta} pm5 ON pm5.post_id = p.ID
- AND pm5.meta_key = '{$mk5}'
- LEFT JOIN {$wpdb->postmeta} pm6 ON pm6.post_id = p.ID
- AND pm6.meta_key = '{$mk6}'
- LEFT JOIN {$wpdb->postmeta} pm7 ON pm7.post_id = p.ID
- AND pm7.meta_key = '{$mk7}'
- WHERE pm.meta_value = '{$mv}'
- AND p.post_type = '{$pt}'
- AND p.post_status NOT IN ('draft','auto-draft')
- ORDER BY {$ord}
- ";
- $clients = $wpdb->get_results( $wpdb->prepare( $sql ), OBJECT );
- if(!function_exists('add_query_meta')) {
- function add_query_meta($wp_query = "") {
- //return In case if wp_query is empty or postmeta already exist
- if( (empty($wp_query)) || (!empty($wp_query) && !empty($wp_query->posts) && isset($wp_query->posts[0]->postmeta)) ) { return $wp_query; }
- $sql = $postmeta = '';
- $post_ids = array();
- $post_ids = wp_list_pluck( $wp_query->posts, 'ID' );
- if(!empty($post_ids)) {
- global $wpdb;
- $post_ids = implode(',', $post_ids);
- $sql = "SELECT meta_key, meta_value, post_id FROM $wpdb->postmeta WHERE post_id IN ($post_ids)";
- $postmeta = $wpdb->get_results($sql, OBJECT);
- if(!empty($postmeta)) {
- foreach($wp_query->posts as $pKey => $pVal) {
- $wp_query->posts[$pKey]->postmeta = new StdClass();
- foreach($postmeta as $mKey => $mVal) {
- if($postmeta[$mKey]->post_id == $wp_query->posts[$pKey]->ID) {
- $newmeta[$mKey] = new stdClass();
- $newmeta[$mKey]->meta_key = $postmeta[$mKey]->meta_key;
- $newmeta[$mKey]->meta_value = maybe_unserialize($postmeta[$mKey]->meta_value);
- $wp_query->posts[$pKey]->postmeta = (object) array_merge((array) $wp_query->posts[$pKey]->postmeta, (array) $newmeta);
- unset($newmeta);
- }
- }
- }
- }
- unset($post_ids); unset($sql); unset($postmeta);
- }
- return $wp_query;
- }
- }
- $args = array (
- 'post_type' => 'page',
- 'meta_key' => 'someMetaKeyName',
- );
- // The Query
- $query = new WP_Query( $args );
- if($wp_query->have_posts()) {
- $wp_query = add_query_meta($wp_query);
- $i = 0;
- while($wp_query->have_posts()) {
- $wp_query->the_post();
- $post_id = get_the_id();
- //Get $someMetaKeyName in current post
- foreach($wp_query->posts[$i]->postmeta as $k => $v) {
- switch($v->meta_key) {
- case('someMetaKeyName') : {
- $someMetaKeyName = $v->meta_value;
- break;
- }
- }
- }
- //Your Code here
- //Example
- echo isset($someMetaKeyName) ? '<h3>'.$someMetaKeyName.'</h3>' : '';
- $i++;
- }
- }
- $args = array(
- 'post_type' => 'page',
- 'meta_key' => 'someMetaKeyName',
- 'meta_query' => array(
- array(
- 'key' => 'someMetaKeyName',
- 'type' => 'CHAR',
- ),
- ),
- );
- $query = new WP_Query( $args );
Add Comment
Please, Sign In to add comment