2011-04-26 3 views
0

"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 } ?> 

고마워 : 당신은 너무 오래 당신이 PHP 태그를 닫습니다 (또는 에코 문에서 HTML을 포함)로, 각 루프에 대한 내에서 HTML을 포함 할 수

답변

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; ?> 
+0

고마워! 매력으로 작동합니다! '루프'를 다시 시작할 수 있다는 생각이 들지 않았습니다. –

0

.

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 } ?> 
+0

나는 다른 게시물이 하나뿐이었습니다. 하지만 둘 이상있을 때마다 'specialCat'에없는 게시물을 표시 할 때마다 div가 닫힙니다. "if (do this) beforeElse (가까운 div) else (do this)"와 같은 것이 필요합니다. –

+0

귀하의 의견을 반영하도록 답변을 업데이트했습니다. div를 닫아야하는지 여부를 표시하기 위해 $ isOpen이라는 변수를 추가했습니다. 그것은 질문을 구걸합니까 - specialCat 범주에있는 게시물이 여러 개인 경우 어떻게됩니까? 이 경우에는 if 블록 내에서 div를 열고 닫을 수 있습니다. – ZombieSheep

+0

두 고양이 모두 여러 게시물을 가지고 있습니다. 그러나 나는 당신이 나를 시작했다라고 생각한다! 나는 그것을 밖으로 시도하고 돌아올거야 :) –

관련 문제