2016-09-19 80 views
0

我創建一個wordpress自上而下的網站的部分,我不知道哪個是最好的方式來獲得頁面到不同的部分。 我也想兼顧充電性能WordPress的 - 獲取頁面在同一頁

<section id="about"> 
 
    <!-- Content of page --> 
 
</section> 
 
<section id="services"> 
 
    <!-- Content of page --> 
 
</section> 
 
<section id="contacts"> 
 
    <!-- Content of page --> 
 
</section>

感謝的

回答

2

我會在這裏用一個簡單的WP_Query實例,並使用下面的代碼:

<?php 

// Set the WP_Query arguments 
$args = array(
    'post_type' => 'page', 

    // You need to change this to match your post IDs 
    'post__in' => array(10, 20, 30), 
    'order_by' => 'post__in', 
    'order' => 'DESC' // Might need to change this to "ASC"... 
); 

// Create the page section query 
$page_section_query = new WP_Query($args); 

// Simple check... 
if($page_section_query->have_posts()) : 
    while($page_section_query->have_posts()) : 
     $page_section_query->the_post(); 
     global $post; 

     // Print out the section! 
     ?> 
     <section id="<?php echo esc_attr($post->post_name) ?>" <?php post_class(array(esc_attr('page-section-' . $post->post_name))); ?>> 
      <!-- contents of the page section --> 
     </section> 
     <?php 
    endwhile; 

    wp_reset_postdata(); 
endif; 
?> 

簡單而有效,1個查詢就是這個需要的。如果您想要更多部分,只需繼續添加更多的帖子ID。

如果您希望避免將帖子ID用作排序參數,則可以使用:menu_order。如果您想避免使用post__in參數,則可以將所有頁面添加到頁面父頁面,並使用父頁面標識並獲取該部分的所有頁面子項。這將使解決方案更加模塊化。

查看更多關於WP_Query的信息請點擊這裏:https://codex.wordpress.org/Class_Reference/

+0

感謝幫助我。如果我的部分有不同的CSS? @MrZiggyStardust – user3242861

+0

只需使用section元素中的post_class()函數即可。 https://codex.wordpress.org/Function_Reference/post_class - 樣式從不同生成的CSS類的所有部分。 – MrZiggyStardust