Question: I want to modify all of my `<li>`'s `class`es and `id`s, but the function `wp_nav_menu()` does not let me do so, so I think I need to use a walker. I am pretty new in OO, so using an object is not really easy.

I'm pretty sure I need to extend `Walker` class (or `Walker_Nav_Menu` class?), but I'm not sure what method to override/implement. What method of my object is being called when I pass it as an argument in `wp_nav_menu( array( 'walker' => new myWalker ) )`?

I do not want to do this with filters and actions because I find it cleaner with walkers.

Answer: 
You'll want to use the 'meta\_query' argument of WP\_Query ( <http://codex.wordpress.org/Class_Reference/WP_Query> )

Here's a snippet that uses two separate meta key comparisons:

```
$query_args = array(
    'post_type' => 'event',
    'order' => 'ASC',
    'orderby' => 'meta_value_num',
    'meta_key' => '_start_date',
    'meta_query' => array (
                                    array(
                                        'key' => '_start_date',
                                        'value' => $_start_of_month,
                                        'compare' => '>',
                                    ),
                                    array(
                                        'key' => '_start_date',
                                        'value' => $_end_of_month, 
                                        'compare' => '<',
                                    ),
    ),

);

```

Important: Note that meta\_query takes an array of arrays.
Actually the way I solved this issue was instead of supplying a key name, I left the field blank which returned worked for all meta keys.