Get WordPress post by post title

php, wordpress

Solution

You can use `get_page_by_title()` to fetch post by title.Like this:

$page = get_page_by_title('About', OBJECT, 'post');
echo $page->ID

Details are here.

OR custom query like this :

$posttitle = 'About';
$postid = $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE post_title = '" . $posttitle . "'" );
echo $postid;

Problem

I am using this code to show WordPress posts in an external website: ``` <?php require('wp_blog/wp-blog-header.php'); if($_GET["p"] > '') { ?> <?php query_posts('p='.$_GET["p"].''); ?> <?php while (have_posts()) : the_post(); ?> <h4><?php the_title(); ?></h4> <?php the_content(); ?> <?php endwhile; ?> <?php } else { ?> <?php $posts = get_posts('numberposts=10&order=ASC&orderby=post_title'); foreach ($posts as $post) : setup_postdata( $post ); ?> <?php the_date(); echo "<br />"; ?> <?php the_title(); ?> <?php the_excerpt(); ?> <?php endforeach; ?> <?php } ?> ``` Rather than selecting the post based on the ID, how can I make it select the post based on the post title?

Original source

Related problems