设置Settings -> Reading -> Posts Page
设置为我的“新闻”页面,并且home.php
模板已填充帖子。。。太棒了
但是,我还希望能够创建另一个循环(即使WP_Query
如果需要),其中包含我指定的实际页面Posts Page
是的。
每当我尝试实例化此循环时,它都会返回大量帖子,而不是我请求的页面。下面是我的代码,请将args与请求SQL进行比较:
<?php
$page = new WP_Query(array(\'post_type\' => \'page\', \'page_id\' => 39));
print_r($page);
// REQUEST: SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = \'page\' AND (wp_posts.post_status = \'publish\' OR wp_posts.post_status = \'private\') ORDER BY wp_posts.post_date DESC LIMIT 0, 10
?>
您可以看到请求SQL查询是错误的,我猜是因为我已经将页面设置为
Posts Page
它阻止我在循环中使用它。
有办法解决这个问题吗?我想在中使用标题、内容和自定义字段home.php
样板
谢谢
SO网友:Mike Madern
您可以通过以下代码获取帖子的所选页面:
$page_for_posts = get_option( \'page_for_posts\' );
然后,通过以下方式获得请求的帖子:
$post = get_post( $page_for_posts );
并且,获取所需的数据:
echo apply_filters( \'the_title\', $post->post_title );
echo apply_filters( \'the_content\', $post->post_content );
echo get_post_meta( $post->ID, $key, $single);