我正在尝试通过ID检索单个帖子。 Stories
是我的自定义帖子类型,目前有三篇帖子:
我有一个名为$story_one
的变量。 $story_one
的值为14
。
我现在正尝试从ID
为14的帖子中检索信息,所以我已经完成了:
<?php
$args = array(
'post_type' => 'stories',
'id' => $story_one,
'posts_per_page' => 1
);
$query = new WP_Query( $args );
if( $query->have_posts() ) {
while( $query->have_posts() ) {
$query->the_post();
the_title();
}
wp_reset_postdata();
}
?>
这将返回博客3 。博客3是stories
中的最新帖子。当我指定它从ID为14(博客2)的帖子中提取内容时,为什么会这样。向我显示最新博客的内容?
答案 0 :(得分:0)
您可以像这样使用WP_Query()
来代替get_post()
:
<?php
$post = get_post($story_one);
if(!empty($post)):
echo $post->post_title;
echo get_field("field name", $story_one);
endif;
?>
关于仅从stories
个帖子类型获取信息。每种帖子类型都存储在相同的帖子表中,因此它们必须使用不同的帖子ID。
parameter
函数中的第二个get_field()
是帖子ID。
答案 1 :(得分:0)
帖子ID的query_var
是p
而不是id
$args = array(
'post_type' => 'stories',
'p' => $story_one,
'posts_per_page' => 1
);
$query = new WP_Query( $args );
if( $query->have_posts() ) {
while( $query->have_posts() ) {
$query->the_post();
the_title();
}
wp_reset_postdata();
}