WordPress query single post by slug WordPress query single post by slug php php

WordPress query single post by slug


From the WordPress Codex:

<?php$the_slug = 'my_slug';$args = array(  'name'        => $the_slug,  'post_type'   => 'post',  'post_status' => 'publish',  'numberposts' => 1);$my_posts = get_posts($args);if( $my_posts ) :  echo 'ID on the first post found ' . $my_posts[0]->ID;endif;?>

WordPress Codex Get Posts


How about?

<?php   $queried_post = get_page_by_path('my_slug',OBJECT,'post');?>


a less expensive and reusable method

function get_post_id_by_name( $post_name, $post_type = 'post' ){    $post_ids = get_posts(array    (        'post_name'   => $post_name,        'post_type'   => $post_type,        'numberposts' => 1,        'fields' => 'ids'    ));    return array_shift( $post_ids );}