从帖子标题获取WordPress帖子ID

2022-08-30 10:09:50

我有一个正在开发的自定义WordPress主题的问题。这有点复杂,但从本质上讲,我需要做的是通过它的帖子标题获取帖子ID。在伪代码中,理想情况下,它类似于:

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

提到的标题是一个静态引用,不是从WordPress中提取的,它已经存在于页面上。

提前致谢。


答案 1

对于任何偶然发现此内容的人来说,这只是一个快速说明:
get_page_by_title()现在可以处理任何帖子类型。
该参数已添加到WP 3.0中。$post_type


答案 2

如果其他人为此而苦恼,请找到解决方案。只是在4个小时的测试/谷歌搜索后出于绝望才发布了这个问题!

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;
}

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


推荐