假设我有三个不同的页面,第1页,第2页和第3页。
我希望page1和page2显示在我的静态首页上。我是否将循环限制为仅拉取page1和page2,或者我是否需要启动循环,测试name =“page1”或类似的东西,然后打印? 谢谢! -Joe
答案 0 :(得分:7)
我会跳过循环,只需使用get_page($id)
,如下所述:
http://codex.wordpress.org/Function_Reference/get_page
您需要知道的只是您网页的ID,您可以随时将它们拉到任意位置。
答案 1 :(得分:1)
以下是您如何做到这一点的示例。如果您希望在一个父级下显示所有页面,则此代码将起作用。在这种情况下,我将页面放在主页下(p.post_parent = 2)。
if ($post->post_type == 'page') {
$pages = $wpdb->get_results("SELECT p.ID, p.post_name, p.post_title, p.post_parent, pm.meta_value FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS pm ON pm.post_id=p.ID AND pm.meta_key='wp_menu_nav' LEFT JOIN $wpdb->posts AS P ON P.ID=p.post_parent WHERE p.post_parent = 2 AND p.post_type='page' AND p.post_status='publish' ORDER BY p.menu_order ASC");
if ($wpdb->num_rows > 0) {
foreach($pages as $page) {
//echo $page->ID . "<br>";
$args = array( 'numberposts' => 1, 'post_type'=> 'page', 'include' => $page->ID, 'post_status' => 'published' );
$myposts = get_posts($args);
foreach($myposts as $mypost) {
setup_postdata($mypost);
echo the_content();
}
}
}
}