Php 如果循环中的所有帖子都符合条件,如何返回单个结果
这是一些基本的IF-THEN语句,但我是一个编码新手,所以我希望有人能给我一根骨头:-) 我有几个帖子有一个自定义的日期字段。我想: 1) 循环浏览所有这些帖子,并评估每个帖子的日期字段是否都是过去的。如果是,我想显示特殊消息 2) 如果只有一篇文章是在过去,我想继续评估,直到查询中的所有文章结束 3) 如果发现哪怕是一篇日期在未来的帖子,我也可以从那篇帖子中看到更多的内容,而不是特别的消息 目前,只有当循环中的项目根本没有post内容时,才会显示特殊消息。我还能够让它在每个帖子被评估后返回消息,但随后我得到了每个被评估帖子的一条特殊消息,我只想得到一条消息,即使在任何一点上,任何帖子都返回true 我目前的代码是:Php 如果循环中的所有帖子都符合条件,如何返回单个结果,php,wordpress,if-statement,Php,Wordpress,If Statement,这是一些基本的IF-THEN语句,但我是一个编码新手,所以我希望有人能给我一根骨头:-) 我有几个帖子有一个自定义的日期字段。我想: 1) 循环浏览所有这些帖子,并评估每个帖子的日期字段是否都是过去的。如果是,我想显示特殊消息 2) 如果只有一篇文章是在过去,我想继续评估,直到查询中的所有文章结束 3) 如果发现哪怕是一篇日期在未来的帖子,我也可以从那篇帖子中看到更多的内容,而不是特别的消息 目前,只有当循环中的项目根本没有post内容时,才会显示特殊消息。我还能够让它在每个帖子被评估后返回消息
<?php
$parent = get_cat_name($category[0]->category_parent);
$cur_cat = $cur_cat_slug;
$cur_date = current_time('timestamp',0);
echo $cur_cat_name;
?>
</div>
<div class=dates>
<?php
$categoryvariable=$category; // assign the variable as current category
$query= 'cat=' . $cur_cat_id. '&posts_per_page=100&meta_key=date_value&orderby=meta_value&order=ASC&meta_compare=>=&meta_value=$cur_date'; // concatenate the query
query_posts($query); // run the query
if ( have_posts() ) : while ( have_posts() ) : the_post();
$date_value = get_post_meta($post->ID, 'date_value', true);
if ($date_value>=$cur_date)
{
?>
<a class=dates-link href="<?php the_permalink(); ?>">
<li><?php echo date("D, n/j/Y, g:ia", get_post_meta($post->ID, 'date_value', true)); ?> - <?php $key="course_endtime"; echo get_post_meta($post->ID, $key, true); ?>
</a>
<div class=info>
<table cellpadding=0 cellspacing=3 border=0>
<tr>
<td valign=top><img src="<?php bloginfo('template_directory'); ?>/images/i.jpg"></td>
<td>Click any date for more info about a course and to register online.</td>
</tr>
</table>
</div>
<?php
}
endwhile; else:
?>
<div class=course-content>Sorry, no courses are currently scheduled. See <a href="http://dynamictactical.org/courses/" style="color:#000000; text-decoration:underline;">Course Calendar</a> for all upcoming DTT courses.</div>
<? endif;
wp_reset_query();?>
/图片/i.jpg“>
单击任意日期以获取有关课程的详细信息,并在线注册。
抱歉,当前没有课程安排。有关所有即将推出的DTT课程,请参阅。
扔给你骨头:将php和输出html分开。这样,您可以在输出任何内容之前进一步编辑结果,以后更改内容会容易得多。以下是我的小贴士: 使用布尔标志确定是否需要显示特殊消息,并仅在循环后显示消息。 这样做:
Set $specialmessage = true;
在循环之前。
然后,在循环中,当您发现一篇文章比您测试的日期更晚时,将其设置为false并将内容粘贴到一个保持器中。如果您愿意,可以使用break退出循环。然后
if($specialmessage)
echo 'special message'
else
echo the_content_placeholder.
不是编码专家,而是我最好的建议