Display post based on custom fields with a custom query

February 20, 2009 · Print This Article

Many blogger interested to know how to be able to display posts based on custom fields values.

The first thing to do is to create a page template.

The code below will display your posts, based on the following condition: Post must have a custom field with key tag and value email.

Of course, you can change it in the query to make the code fits your needs.

<?php
/*
Template Name: Custom query
*/

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

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

if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post);
// Display your post info. For exemple: the_title();the_exerpt();
endforeach;
endif;

?>


Your choice for site templates and wordpress themes

Comments

Got something to say?

You must be logged in to post a comment.