На моей родительской страницы, у меня есть собственный шаблон страницы, призывающую другой шаблон:Wordpress петли в пределах погрешности контура
if(have_posts()): while(have_posts()): the_post(); ?>
<div class="wrapper">
<?php get_template_part('template', 'page-section'); ?>
<?php endwhile; endif; wp_reset_postdata(); ?>
Внутри страницы-шаблона-section.php, у меня есть следующие:
<?php
/*
Template Name: Page Section
*/
$args = array(
'post_parent' => 9,
'post_type' => 'page',
'orderby' => 'menu_order',
'posts_per_page' => -1,
'order' => 'ASC'
);
$wpq = new WP_Query($args); ?>
<?php while ($wpq->have_posts()) : $wpq->the_post(); ?>
<?php if ($post->ID == 101) {
include('template-slider.php');
} ?>
<div class="page-section">
<h1><?php the_title(); ?></h1>
<?php /* The loop */ ?>
<?php the_content(); ?>
</div>
<?php endwhile; wp_reset_postdata();?>
в матричной slider.php, заключается в следующем:
<div id="slider-container">
<ul id="slider">
<? $query = get_pages(
array(
'post_type' => 'slides',
'orderby' => 'menu_order',
'posts_per_page' => -1
));
foreach($query as $post) {
setup_postdata($post); ?>
<?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'single-post-thumbnail', $thumbsize[0]); ?>
<li>
<img src="<?php echo $image[0]; ?>">
</li>
<?php } wp_reset_postdata(); ?>
</ul>
</div>
вопрос заключается в том, что когда-то Wordpress попадает в петлю в пределах шаблон слайдера, информация, которую он эхо для постсодержащего контента, не является дочерней строкой родителя, а является родительским контентом.
Может ли кто-нибудь сказать мне, что я делаю неправильно? Я не могу понять это!
В файле 'template-slider.php' вам не нужно включать строку' setup_postdata ($ post); 'как' get_pages() 'будет включать идентификатор сообщения в массив. Кроме того, вы можете захотеть переименовать '$ post', поскольку это глобальный WP использует; не уверен, что это какая-то проблема здесь. – Indranil