从post标题获取WordPress的postID

我正在开发一个自定义WordPress主题的问题。 这有点复杂,但基本上,我需要做的是通过邮政标题获得邮政编号。 在伪代码中,理想情况是这样的:

title = "foo"; post_id = get_post_id_where_title_is(title); 

提到的标题是一个静态的引用没有从WordPress中拉出来,它已经出现在页面上。

提前致谢。

对于任何碰到这种情况的人来说,
get_page_by_title()现在可以处理任何posttypes。
在WP 3.0中添加了$post_type参数。

find一个解决scheme,如果有人与此斗争。 只有在经过4个小时的testing/谷歌search之后,才会发出绝望的问题!

 function get_post_by_title($page_title, $output = OBJECT) { global $wpdb; $post = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type='post'", $page_title )); if ( $post ) return get_post($post, $output); return null; } 

find: http : //sudarmuthu.com/blog/2009/09/18/retrieving-posts-and-pages-based-on-title-in-wordpress.html

像Michal Mau提到的那样:

使用

 $my_post = get_page_by_title( 'My Title', OBJECT, 'post' ); echo $my_post->post_content; 

它是( $page_title, $output, $post_type )轻松地接收post而不是页面。

这可能会通过创build函数来帮助你,使你不必重复代码

 function get_page_id_by_title($title) { $page = get_page_by_title($title); return $page->ID; } $title = "your title"; get_page_id_by_title($title); 

你可以按照[链接]使用下面的代码[ 1 ]!

 <?php $page = get_page_by_title( 'About' ); wp_list_pages( 'exclude=' . $page->ID ); ?> 

另一种获取post和页面ID的方法是使用插件

有一个插件,它只是简单地做,只是添加一个列到您的所有网页,所有职位,所有类别表,并有ID的列标题…正下方,你会看到所有的页面/职位在该列中列出的ID ..

我认为这应该是非常有用的..

我经常使用这个插件,它非常轻巧。

http://getyourblogready.com/?p=758

不需要使用任何types的SQL查询或插件,使用Wordpress的标准function

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

使用wp查询很容易从post标题中获得postID:

 global $wpdb; $rw = $wpdb->get_row( $wpdb->prepare("select * from "your post table name" where post_title='your variable name or your post title'")); echo $rw->ID; 

1)不同于post_titlepost_name 。 post_name也许是slu </s>子。 post_title是post的标题。

2)

 $titlee = "yourtitle"; echo $id = $wpdb->get_var("SELECT ID FROM $GLOBALS['wpdb']->posts WHERE post_name = $titlee");