views:

114

answers:

2

I have posts that use a custom field for start date and end date. Query_posts returns an array of posts that exist in the category I'm filtering. How do I query posts using this custom field that has date i.e. 03/11/2010 and not the full array. Pagination works on the full array so it returns all posts. I can use an if else to only show the posts newer that today, then pagination doesn't work. Would I have to build a custom mysql query?

A: 
<?php

 $querystr = "
    SELECT wposts.* 
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
    WHERE wposts.ID = wpostmeta.post_id 
    AND wpostmeta.meta_key = 'date_field' 
    AND wpostmeta.meta_value = '03/11/2010' 
    AND wposts.post_status = 'publish' 
    AND wposts.post_type = 'post' 
    ORDER BY wposts.post_date DESC
 ";

 $pageposts = $wpdb->get_results($querystr, OBJECT);

 ?>

Then you would access $pageposts as an object

st4ck0v3rfl0w
this I believe is my answer! interested in doing some WPMU development?
InnateDev
I would appreciate you checking this off as an answer!
st4ck0v3rfl0w
I hunted for that large 'tick'... thanks for the great answer.
InnateDev
A: 

You can create custom query using following filters query_vars, posts_join, posts_where, posts_groupby. here's the codex link to custom queries. Some examples are listed there for help.

Pragati Sureka