使用帖子ID查询帖子

时间:2012-06-22 09:39:22

标签: wordpress

SSomeone可以告诉我使用它的id获取帖子的最佳方式是什么?

我正在使用它:

$ query = query_posts('post_id ='。$ _ GET ['php_post_id']); 全球$ post;
foreach($ query as $ post):

做事......

这将返回一个包含所有帖子的数组

5 个答案:

答案 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.