Nice one
-
Great functionality, and as my prior mark – 5 stars for code.
Not often today you’ll find a plugin with clean and readable code.
Found and edited all the things I was need for my project in a couple of minutes.
———————————————-
Dev, I’ve got a problem in ur free-version.elseif( $val['type'] == 'checkbox' ): $args['meta_query'][] = array( 'key' => $data_value, 'value' => $_POST['data'][ $key ]['val'], 'type' => 'CHAR', 'compare' => 'IN' );
Now imagine you have meta_field “array of chars”
And your post #1 have it set like “fish, cat”
And your post #2 have it like “dog, duck”
You place a “checkbox” of that custom field with 4 values to check.
You check only “cat” and get post #1 in the results.
You check only “dog” and get post #2 in the results.
You check both “cat” and “dog”. What will you get? 0 found? Nah, you’ll get 2 posts found.To allow WHERE IN of meta_query to EXACT match your array of checks you need to replace code above with:
elseif( $val['type'] == 'checkbox' ): foreach( $_POST['data'][ $key ]['val'] as $meta_val ): $args['meta_query'][] = array( 'key' => $data_value, 'value' => $meta_val, 'type' => 'CHAR', 'compare' => '=' ); endforeach;
And here comes an option to set different ‘relation’ of meta_query, like OR or AND.
- The topic ‘Nice one’ is closed to new replies.