How can I get a post by title in Wordpress?

Wordpress 3.0

I want to have the contents of a specific post into a page by using the title of the post. As far as I can tell, I can't do it directly with get_post().

I can assume what the brute force way might be, but I suspect there's a more elegant way?


<!--1.Get post ID by post title if you know the title or the title variable-->
$posttitle = 'post_title';
$postid = $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE post_title = '" . $posttitle . "'" );
echo $postid;

<!--2.use get_post($post_id) to get whatever you want to echo-->
$getpost= get_post($postid);
$postcontent= $getpost->post_content;
echo $postcontent;

get_page_by_title($id, OBJECT, 'post');

There ye go.

No need to SQL query's when you can use wordpress own functions for this.

$page = get_page_by_title( 'Startsida' );
$page_id = $page->ID;

post_exists is a good function for that :


$post_id = post_exists('Your title');
// return id or 0 if post doesn't exists.


See my answer on a very similar question. Do not query the data base with an unescaped string.

You can use this:


global $wpdb;
$your_title = "yourtitle";
$id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = $your_title");
echo $id;

or 2)

    $slug_to_get = 'my_title_or_slug';
    // you can use custom post type too

      'title' => $slug_to_get,
      'post_type' => $posttypee,
      'post_status' => 'publish'
    $my_posts = get_posts($args);
    if( $my_posts ) {
    echo 'ID on the first post found '.$my_posts[0]->ID;

Need Your Help

Is COLLADA a dead format?

opengl 3d format collada

I've been reading lots of musings on the net that COLLADA is a dead file format? In that applications are not updating their support for it etc. Is this true? It was originally designed to be a for...