我想通过标题获取帖子的 id 。
下面的脚本按ID显示帖子的内容。
$content_post = get_post($postID);
$content = $content_post->post_content;
return apply_filters('the_content', $content);
我的目标是使用标题作为参数,以获取相关的ID。
答案 0 :(得分:0)
您可以使用get_page_by_title。您可能有多个具有相同名称的帖子,因此可能会返回多个条目。
答案 1 :(得分:0)
请查看此代码吗?
$page = get_page_by_title(' Your page title '); // enter your page title
$pageID = $page->ID;
echo $pageID;
有关详细信息,请参阅此链接get_page_by_title?
答案 2 :(得分:0)
<强>描述强>
检索给定标题的帖子。如果多个帖子使用相同的标题,将返回ID最小的帖子。
因为这个函数使用MySQL&#39; =&#39;比较$ page_title通常会与默认整理匹配为不区分大小写。 使用
<?php
get_page_by_title( $page_title, $output, $post_type );
?>
<强>参数强>
$page_title
(string) (required) Page title
Default: None
$output
(string) (optional) Output type. OBJECT, ARRAY_N, or ARRAY_A.
Default: OBJECT
$post_type
(string) (optional) Post type like 'page', 'post', 'product' etc.
Default: page
返回值
(mixed)
OBJECT, ARRAY_N, or ARRAY_A.
找不到帖子时为NULL。
在 wordpress codex 上查看。
另一种方法是:
问题
该功能可将帖子/页面名称转换为帖子/页面ID。
function get_id_by_post_name($post_name)
{
global $wpdb;
$id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '".$post_name."'");
return $id;
}
函数调用
在主题中的某处调用该函数。
<?php echo get_id_by_post_name('my-post-name'); ?>