比方說,我有三個不同的頁面,page1,page2和page3。wordpress:如何在一個頁面上顯示多個頁面?
我希望page1和page2顯示在我的靜態主頁上。我是否將循環限制爲只拉頁面1和頁面2,或者是否需要啓動循環,測試name =「page1」或類似的內容,然後打印? 謝謝! -Joe
比方說,我有三個不同的頁面,page1,page2和page3。wordpress:如何在一個頁面上顯示多個頁面?
我希望page1和page2顯示在我的靜態主頁上。我是否將循環限制爲只拉頁面1和頁面2,或者是否需要啓動循環,測試name =「page1」或類似的內容,然後打印? 謝謝! -Joe
我會跳過循環和簡單地使用get_page($id)
如下所述:
http://codex.wordpress.org/Function_Reference/get_page
所有你需要知道的是你的頁面的ID的,你可以拉他們一次一個任何你想的地點都可以。
下面是一個如何做到這一點的例子。如果您有所有要在單親父母下顯示的網頁,則此代碼可以正常工作。在這種情況下,我將頁面放在主頁下(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();
}
}
}
}
如果您可以避免使用原始SQL查詢,通常不是一個好主意。有很多內置的方式可以通過WordPress訪問任意數量的頁面。 get_page()或修改'pre_get_posts'上的查詢會很好。 – 2013-11-05 19:07:40
你的意思是WordPress的功能,使多個不必要的調用和連接到數據庫? 如何實際給一些代碼示例,而不是提到任何人都可以查看的功能,這有助於任何人?我提供的是一個真正的解決方案,它可以工作;-) – John 2013-11-05 23:12:17
如果我想將我在Wordpress中爲每個頁面指定的模板應用? – Prusprus 2013-01-31 02:23:06
此方法現在已被棄用 – 2014-06-05 14:27:59
我正在尋找這個問題的答案,但'get_page'現在已被棄用。任何人都可以推薦替代品嗎? – mattnewbie 2014-08-12 21:39:14