I have this pretty standard script that looks for a preview or a report (custom post types) which have data stored against them (serialized array) taking the form of a `guid`. The guid is present on my report and not present on my preview (this is intended as I want to catch the failure). However, when I run the script for preview, the `get_posts` returns one post which seems to be the latest post published. $args = array( "post_type" => array($type), "posts_per_page" => 1, "post_status" => "publish", "orderby" => "date", "order" => "DESC", "meta_query" => array( "key" => "_fixtures", "value" => $fixguid, // IN THIS CASE IT SHOULD BE 12AB1324 "compare" => "=" ) ); $posts = get_posts($args); return $posts; The report (which has the meta data `12AB1324`) is returned successfully but the preview returns the latest story which happens to have a value of `12AB3136`. I suppose my question is: **Why does get_posts meta query return a) the latest post and b) a post with a guid that doesn't `=` the given `key` parameter**. Thanks.