Pass $page_id to new WP_Query

时间:2012-07-08 作者:markratledge

与纯WP相比,可能非常简单且与PHP相关更多,但是如何通过$page_id 在第一次代码剪切中生成new WP_Query () 在第二次代码截取中?

在页面模板中,我需要做的是dynamically 获取当前页面ID并将其传递给新的WP\\U查询,以便显示当前页面的内容。这适用于根据page\\u id显示不同内容的页面模板,与页面模板通常处理循环的方式有点相反。

我不需要分页或其他任何东西;新查询将在jQuery UI选项卡结构中显示少量内容。

Global wp_query to get current page ID (and echo it for testing purposes):

<?php global
$wp_query;
$page_id = $wp_query->get_queried_object_id();
echo $page_id; ?>

Standard new WP_Query for the content:

<?php $my_query = new WP_Query( **need $page_ID here** ); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>

2 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

如果您在同一页上,只需要再次显示同一页的内容,您可以调用the_content 多次。

然而,要回答您的问题:

您将使用page_id WP\\u Query的参数(您也可以使用p). 您甚至可以删除global $wp_query 诸如此类。

<?php
$new_query = new WP_Query(array(
   \'page_id\' => get_queried_object_id()
));

SO网友:Sisir

您不需要第一个片段。仅使用get_the_ID() 在第二个代码段上。

<?php $my_query = new WP_Query( ** use get_the_ID() here ** ); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post