Answers:
使用get_posts()
和参数name
是the:
$page = get_posts( array( 'name' => 'your-slug' ) );
if ( $page )
{
echo $page[0]->post_content;
}
请注意,帖子类型get_posts()
默认为'post'
。如果您想使用页面 ...
$page = get_posts(
array(
'name' => 'your-slug',
'post_type' => 'page'
)
);
如果要使用所有公共帖子类型(附件除外),请将帖子类型参数设置为'any'
。这样一来,您会得到不止一个结果,因为在不同的帖子类型中,子弹并不是唯一的。
您可以使用get_page_by_title()
功能按标题获得页面。
您可以像这样使用它(假设您要显示内容):
$page = get_page_by_title('Your Title');
$content = apply_filters('the_content', $page->post_content);
echo $content;
顺便说一句,要使用子弹获取页面:
function get_page_id_by_slug($slug){
global $wpdb;
$id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '".$slug."'AND post_type = 'page'");
return $id;
}
$page = get_post(get_page_id_by_slug('my-slug'));
因此,
if( is_page( 'your-slug' ) ) {
// fetch content
}
会做你想要的。
如果您对不在页面上时如何基于信息块获取帖子/页面内容感兴趣,也可以get_posts
输入信息块。这没有记录在法典中。
下面的代码将从段中获取ID:
$args = array(
'name' => 'your-slug'
);
$posts_from_slug = get_posts( $args );
// echo fetched content
echo $posts_from_slug[0]->post_content;
使用get_page_by_path
。
句法
<?php get_page_by_path( $page_path, $output, $post_type ); ?>
例:
//Returns the animal with the slug 'cat'
get_page_by_path('cat', OBJECT, 'animal');
有关更多参考,请参阅WordPress函数参考。
我在从页面填充主题模板时使用此代码,
$about = get_page_by_path('about');
$content = apply_filters( 'the_content', $about->post_content );
echo $content;