WordPress SQL snippets

A place to keep snippets of useful WordPress SQL.

Do a select based on some meta field of a post ( i.e. search for a post that has a particular metafield  )
SELECT  p.ID,p.post_title,
        MAX(CASE WHEN pm1.meta_key = 'id_vim_node' then pm1.meta_value ELSE NULL END) as field_i_want
 FROM    wp_posts p LEFT JOIN wp_postmeta pm1 ON ( pm1.post_id = p.ID)

where pm1.meta_key = 'id_vim_node'

GROUP BY
   p.ID, p.post_title

In the example above I’m searching for posts with a value for id_vim_node. This is based on this code from stackexchange

Output WP_Query sql code (very useful for debugging WP_Query )

if in the loop

<?php echo $GLOBALS['wp_query']->request; ?>

outside of loop

$customPosts = new WP_Query($yourArgs);
echo "Last SQL-Query: {$customPosts->request}";

based on this post on stackexchange

Leave a Comment