SSomeone可以告诉我使用它的id获取帖子的最佳方式是什么?
我正在使用它:
$ query = query_posts('post_id ='。$ _ GET ['php_post_id']);
全球$ post;
foreach($ query as $ post):
做事......
这将返回一个包含所有帖子的数组
答案 0 :(得分:2)
get_post( $post_id, $output );
所以在实践中看起来像:
$my_id = 7;
$post_id_7 = get_post($my_id);
有关帖子参数和字段的进一步参考,请点击此处:http://codex.wordpress.org/Function_Reference/get_post
更新:当您需要按ID获取单个帖子时,这是最佳做法,不需要使用cicles。
答案 1 :(得分:1)
您可以这样创建查询:
$rd_args = [
'ID' => $postId
];
$query = new WP_Query($rd_args);
然后您可以从查询中检索帖子。或将其设置为全局查询并在其上循环:
$GLOBALS['wp_query'] = $query;
while ( have_posts() ) : the_post();
答案 2 :(得分:1)
将post_id=
更改为p=
。
$setQuery = 'p='.$_GET['php_post_id'];
query_posts($setQuery);
点击此链接可查看:Retrieve a Particular Post
答案 3 :(得分:0)
如果你知道ID,这是使用query_post获取帖子的代码。
<?php
$my_query = query_posts('post_id=111&post_type=parks'); // in place of 111 you need to give desired ID.
global $post;
foreach ($my_query as $post) {
setup_postdata($post);
the_title();
the_content();
}
?>
答案 4 :(得分:0)
如果您希望获得一条包含您已知道或从其他来源获取的ID的帖子,我建议使用以下代码。
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'p' => $id, // id of the post you want to query
);
$my_posts = new WP_Query($args);
if($my_posts->have_posts()) :
while ( $my_posts->have_posts() ) : $my_posts->the_post();
get_template_part( 'template-parts/content', 'post' ); //Your Post Content comes here
endwhile; //end the while loop
endif; // end of the loop.