1
votes

I have a custom post type MEMBER and there is a meta field member_name now I want search all member whose name start with 'S' .

normal SQL : WHERE member_name like 'S%';

How can it be done in wordpress ?

What I did as bellow:

 $arg = array(
                        'post_type' => 'member',
                        'post_status' => 'publish',
                        'order' => 'ASC',
                        'meta_key' => 'member_name',
                        'orderby' => 'meta_value',
                        'meta_query' => array(
                                                array(
                                                     'key' => 'member_name',
                                                     'value' => $sort_by,
                                                     'compare' => 'LIKE'
                                              )
                                )
                        );
$wp_query = new WP_Query($arg);
1

1 Answers

2
votes

You can try code below:

This query returns the members whose Name starts with S.

    global $wpdb; 
         $query ="SELECT *
                FROM wp_posts as p, wp_postmeta as m
                WHERE p.ID = m.post_id AND p.post_status = 'publish' AND p.post_type = 'member' AND m.meta_key = 'member_name' AND m.meta_value LIKE 'S%' ORDER BY m.meta_value ASC";   

$results = $wpdb->get_results($query);