如果有一个扭曲 - 也许

时间:2011-04-26 08:40:04

标签: php wordpress if-statement

我可以在执行“else”之前制作一个完成div的If Else语句吗? 我想循环浏览我的帖子并将“specialCat”中的帖子放在一个div中。

<div id="the-div-i-want-to-close">  

<?php if (in_category('specialCat')) { ?> 

    <h1><?php the_title(); ?></h1>

<?php }  else { ?>

    <h1><?php the_title(); ?></h1>

<?php } ?>

非常感谢:)

3 个答案:

答案 0 :(得分:1)

最好的办法是修改调用特殊类别的查询,然后完成其余帖子的循环。

 <?php
    $args = array(
    'category_name' => 'special-cat', // Use Category slug
    'posts_per_page' => -1 // Get all the post in SpecialCat
    );
    $special_query = new WP_Query( $args );
    ?>
    <div id="the-div-i-want-to-close"> 
    <?php
    while ( $special_query->have_posts() ) : $special_query->the_post();
    $no_repeat[] = $post->ID ?>
    <h1><?php the_title(); ?></h1>
    <?php endwhile; ?>
    </div> <?php // Close your special div after looping through all SpecialCat posts

// Start the loop again 

    if (have_posts() ) : while (have_posts() ) : the_post();
    if (in_array( $post->ID, $no_repeat ) ) continue;  // Exclude the posts we already got above ?>
    <h1><?php the_title(); ?></h1>
    <?php endwhile; endif; ?>

答案 1 :(得分:0)

只要关闭PHP标记(或在echo语句中包含HTML),就可以在每个循环中包含HTML。

答案 2 :(得分:0)

这会为你做吗?

<div id="the-div-i-want-to-close">  
<?php $isOpen = true; ?>
<?php if (in_category('specialCat')) { ?> 
    <?php the_title(); ?>
<?php }  else { ?>
    <?php if($isOpen) { ?>
    </div>
    <?php $isOpen = false; ?>
    <?php } ?>
    <?php the_title(); ?>
<?php } ?>