php 从帖子标题获取WordPress帖子ID

mklgxw1f  于 2022-12-25  发布在  PHP
关注(0)|答案(9)|浏览(132)

我有一个自定义的WordPress主题我正在开发的问题。这是一个有点复杂,但本质上,我需要做的是得到一个帖子的标题后的ID。在伪代码,它理想的是这样的东西:

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

提到的标题是一个静态引用没有被拉在WordPress中,它已经存在于页面上。

pxiryf3j

pxiryf3j1#

您可以按照[链接][http://codex.wordpress.org/Function_Reference/get_page_by_title] 1使用以下代码)!

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

up9lanfz2#

另一种获得帖子和页面ID的方法是使用插件。
有一个插件,它只是简单地做,只是添加一列到您的所有页面,所有职位,所有类别表,并有一个列标题的ID...和右下方,你会看到所有的页面/职位ID列在该列..
我想那应该很有用。
我使用这个插件非常频繁,它是非常轻量级的.
http://getyourblogready.com/?p=758

9udxz4iz

9udxz4iz3#

不需要使用任何类型的SQL查询或插件,使用WordPress的标准功能

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

nuypyhwy4#

这是很容易得到的职位ID从职位标题使用WP查询:

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

f4t66c6m5#

1)区别post_titlepost_name彼此。post_name可能是slug。post_title是帖子的标题。
(二)

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

uqcuzwp86#

对于任何偶然发现这一点的人,请注意:
get_page_by_title()现在可以处理任何post类型。
WP 3.0中添加了$post_type参数。

falq053o

falq053o7#

找到了一个解决方案,如果其他人挣扎与此。只有张贴的问题出于绝望后,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

uqzxnwby

uqzxnwby8#

就像Michal Mau提到的:
用途

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

轻松接收帖子而不是页面是( $page_title, $output, $post_type )

fcg9iug3

fcg9iug39#

也许这将有助于您创建函数,使您不必重复代码

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

相关问题