While döngüsü: her saniye sonucunda farklı bir şey Çıktı

1 Cevap php

WordPress için Kategori Mesajlar Widget adlı bir eklentiyi çalıştırıyorum: http://wordpress.org/extend/plugins/category-posts/

Belli bir kategorideki tüm mesajların adlarını görüntülemek için bir süre döngü kullanır. Her saniye çıkışta li etiketine bağlı farklı bir sınıf var ki ben onu almak istiyorum.

Burada eklenti için kod bloğu:

// Post list
    echo "<ul>\n";

    while ( $cat_posts->have_posts() )
    {
        $cat_posts->the_post();
    ?>
        <li class="cat-post-item">
            <a class="post-title" href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>

            <?php
                if (
                    function_exists('the_post_thumbnail') &&
                    current_theme_supports("post-thumbnails") &&
                    $instance["thumb"] &&
                    has_post_thumbnail()
                ) :
            ?>
                <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
                <?php the_post_thumbnail( 'cat_post_thumb_size'.$this->id ); ?>
                </a>
            <?php endif; ?>

            <?php if ( $instance['date'] ) : ?>
            <p class="post-date"><?php the_time("j M Y"); ?></p>
            <?php endif; ?>

            <?php if ( $instance['excerpt'] ) : ?>
            <?php the_excerpt(); ?> 
            <?php endif; ?>

            <?php if ( $instance['comment_num'] ) : ?>
            <p class="comment-num">(<?php comments_number(); ?>)</p>
            <?php endif; ?>
        </li>
    <?php
    }

    echo "</ul>\n";

Ben sadece bu kadar çıktı listesindeki her saniye biri, li farklı bir sınıf vardır almak için çalışıyoruz, böylece kedi-post-madde-alt örneğin duyuyorum.

Teşekkürler,

Çamurda yürümek

1 Cevap

Aşağıdaki test edilmedi, ancak temel prensibini göstermektedir. Sadece döngü her örneği üzerinde bir Boole değeri anahtarı. Eğer gereğinden fazla kendi stil değiştirmek zorunda kalmazsınız böylece bile mesaj ayrıca, cat-post-item-even sınıfı olacaktır.

Bu döngüler için basit adımlarla daha başka şeyler için kullanılabilir olduğunu keşfetmek için temiz bulunuyor.

İki Düzenlenen satır gibi işaretlenir.

// Post list
echo "<ul>\n";

/* edited */    for($even=false;$cat_posts->have_posts();$even=!$even)
{
    $cat_posts->the_post();
?>
<!-- edited -->        <li class="cat-post-item<?php if($even) echo " cat-post-item-even"; ?>">
        <a class="post-title" href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>

        <?php
            if (
                function_exists('the_post_thumbnail') &&
                current_theme_supports("post-thumbnails") &&
                $instance["thumb"] &&
                has_post_thumbnail()
            ) :
        ?>
            <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
            <?php the_post_thumbnail( 'cat_post_thumb_size'.$this->id ); ?>
            </a>
        <?php endif; ?>

        <?php if ( $instance['date'] ) : ?>
        <p class="post-date"><?php the_time("j M Y"); ?></p>
        <?php endif; ?>

        <?php if ( $instance['excerpt'] ) : ?>
        <?php the_excerpt(); ?> 
        <?php endif; ?>

        <?php if ( $instance['comment_num'] ) : ?>
        <p class="comment-num">(<?php comments_number(); ?>)</p>
        <?php endif; ?>
    </li>
<?php
}

echo "</ul>\n";