get_posts not finding argument: post_name

I am digging up posts with a specific slug:

Where

Read More
$postSlug = 'abc'

$args = array(
          'post_name' => $postSlug,
          'post_type' => 'post',
          'post_status' => 'publish'
        );
    $slugPosts = get_posts($args);

Output of $slugPosts[0]->post_name:

$slugPosts[0]->post_name = 'xyz'

What am I doing wrong here? How can I get a post from a slug?

Related posts

Leave a Reply

1 comment

  1. Aha, despite there being a postmeta field of post_name->’slug’, the correct syntax (which mirrors that of WP_Query, is

    $args = array(
          'name' => $postSlug,
          'post_type' => 'post',
          'post_status' => 'publish'
        );
    $slugPosts = get_posts($args);
    

    Where ‘name’ is the key in the query (for posts, ‘postname’ for page).

    Doesn’t make much sense but might as well stick it as an answer.