2016-09-19 4 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 запрос - это все, что вам нужно. Просто продолжайте добавлять больше идентификаторов сообщений, если хотите больше разделов.

Если вы хотите избежать использования почтовых идентификаторов в качестве параметра порядка, вы можете использовать вместо этого: menu_order. И если вы хотите избежать использования параметра post__in, вы можете добавить все страницы в родительский адрес страницы и использовать идентификатор родительского сообщения и получить все дочерние страницы страниц для этих разделов. Это сделало бы решение более модульным.

Подробнее о WP_Query здесь: https://codex.wordpress.org/Class_Reference/

+0

Спасибо за помощь мне. И если моя секция имеет разные css? @MrZiggyStardust – user3242861

+0

Просто используйте функцию post_class() внутри элемента секции. https://codex.wordpress.org/Function_Reference/post_class - И создайте все разделы из разных классов CSS. – MrZiggyStardust

Смежные вопросы