我正在尝试为电台节目网站制作节目。 我有一个自定义字段,一周中的所有日子,我只想把每个帖子放在相应日期的列表中。
到目前为止,我已经获得了下面的代码,我列出了所有日子的7个列表,但每个列表都有相同的帖子。有谁知道如何使这项工作?或者其他什么会更好?
<?php
$days = array(
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday',
'Sunday',
);
$guide = array(
'post_type' => 'shows',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'show_day',
'value' => $dayg,
'compare' => 'like'
)
)
);
?>
<h3 class="guide">
<?php the_title(); ?>
</h3>
<?php foreach($days as $dayg) { ?>
<ul class="day">
<h3>
<?php echo $dayg; ?>
</h3>
<?php query_posts($guide); while(have_posts()) : the_post(); ?>
<li><?php the_title(); echo ' | ' , the_field('show_day'); ?></li>
<?php endwhile; wp_reset_query(); ?>
</ul>
<?php } ?>
任何人都知道
答案 0 :(得分:2)
用以下代码替换您的代码: -
<?php
$days = array(
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday',
'Sunday',
);
?>
<h3 class="guide">
<?php the_title(); ?>
</h3>
<?php foreach($days as $dayg) { ?>
<?php
$guide = array(
'post_type' => 'shows',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'show_day',
'value' => $dayg,
'compare' => 'like'
)
)
);
?>
<ul class="day">
<h3>
<?php echo $dayg; ?>
</h3>
<?php query_posts($guide); while(have_posts()) : the_post(); ?>
<li><?php the_title(); echo ' | ' , the_field('show_day'); ?></li>
<?php endwhile; wp_reset_query(); ?>
</ul>
<?php } ?>
这样可行,因为您要在循环外添加$guide
变量,这就是为什么$dayg
未设置...