Php 在Wordpress页面上显示特定帖子

Php 在Wordpress页面上显示特定帖子,php,wordpress,post,wordpress-theming,Php,Wordpress,Post,Wordpress Theming,我试图在一个.php页面中显示特定的帖子,但是由于某些原因,我显示了所有帖子。我不确定我是否正确获取了post id,但我现在是这样做的: <?php $post_id = (int) $_GET['p']; query_posts('p=' . $post_id); while(have_posts()) { $this_page = the_post(); echo the_content(); }

我试图在一个.php页面中显示特定的帖子,但是由于某些原因,我显示了所有帖子。我不确定我是否正确获取了post id,但我现在是这样做的:

    <?php
    $post_id = (int) $_GET['p'];
    query_posts('p=' . $post_id);
    while(have_posts()) 
    { 
        $this_page = the_post();
        echo the_content();
    } 
    ?>

它应该只显示带有一个id的post,该id存储在$post_id变量中,但由于某些原因,它正在获取所有id/

丑陋的方式:

query_posts('p=11');
$my_query = new WP_Query('p=11');
while($my_query->have_posts()){
  $my_query->the_post();
  the_content();
}
query\u posts
更改主查询)

不那么丑陋的方式:

query_posts('p=11');
$my_query = new WP_Query('p=11');
while($my_query->have_posts()){
  $my_query->the_post();
  the_content();
}

您是否尝试过从URL获取帖子ID

<?php
   $post_id = (int) $_GET['p'];
   query_posts('p=' . $post_id);
?>

或者,这也可能起作用:

<?php get_post($post_id); ?>

不确定这是否是您要查找的内容,但我知道您希望在single.php上显示特定页面

为什么不使用这个:

<?php 
  $page_id = get_ID_by_slug('my_page_slug');
  $page_data = get_page( $page_id );
?> 

<h2><?php echo $page_data->post_title; ?></h2>
<p><?php echo $page_data->post_content; ?></p>    

是和否-在哪里设置
$id
变量?您可以使用
get_permalink(11)如果您想要ID为11的帖子。Ye,问题是url中可能有任何id,而不仅仅是11,我需要一种方法来获取该id,然后在查询中回显它,这样我就可以得到一篇带有url中任何id的帖子。@McNab我现在更改了问题,以确切显示我正在尝试做什么(使用get方法),所以我现在不使用permalinks,但由于某些原因,它仍然不起作用/是的,问题是这个url中可能有任何id,而不仅仅是11,我需要一种方法来获取该id,然后在查询中回显它,这样我就可以得到一篇带有url中任何id的帖子。我这样做了,并更新了我的问题以使用新代码,但出于某种原因,我仍然得到所有帖子。这太奇怪了,尽管这样做,我仍然得到所有帖子,我觉得应该行得通我更新了我的答案以适应新的环境query@IlyaKnaup您试图加载此帖子的页面-是自定义模板页面吗?如果是这样,您能否将GET参数更改为其他参数(即
?postId=11
)。或者这是一个帖子的现有Wordpress页面?@IlyaKnaup同样,如果你尝试
get\u post($post\u id)
而不是
query\u posts
,会发生什么?根据我的系列教程,这是一个单独的.php页面,Wordpress用来显示帖子。它使用的是?p=。。。邮政编码