在WordPress博客页面中为4个博客应用一种样式,并为接下来的4个博客应用另一种样式?

时间:2018-10-08 作者:Sarath

我试图自定义我的博客页面。前4个博客应该设计成一种风格,而接下来的4个博客则有不同的风格。当我应用css时,所有的博客都以相同的方式显示。我在玩have\\u posts()和\\u post()函数。

<div id="primary" class="content-area dstC6 <?php echo $cols; ?>">
    <main id="main" class="site-main">

    <?php if ( have_posts() ) : ?>

        <div class="blog-layout-grid clearfix">
        <?php
        /* Start the Loop */
        while ( have_posts() ) : the_post();

            get_template_part( \'template-parts/content\', get_post_format() );

        endwhile; ?>

        </div>

        <?php

        the_posts_navigation();

    else :

        get_template_part( \'template-parts/content\', \'none\' );

    endif; ?>

    </main><!-- #main -->
</div><!-- #primary -->
模板部分/内容的代码如下所示。

<div class="col-md-3 blogPostEach center-block">

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

<?php if ( has_post_thumbnail() ) : ?>
<figure class="entry-thumbnail">
    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
        <?php the_post_thumbnail( \'leto-large-thumb\' ); ?>
    </a>
</figure>
<?php endif; ?>

<header class="entry-header">
    <?php if ( !$hide_meta ) : ?>
    <div class="entry-meta">
        <?php leto_show_cats(); ?>
    </div><!-- .entry-meta -->
    <?php endif; ?>
    <?php the_title( \'<h2 class="entry-title"><a href="\' . esc_url( get_permalink() ) . \'" rel="bookmark">\', \'</a></h2>\' ); ?>
</header><!-- .entry-header -->

<?php if ( $show_excerpt ) : ?>
<div class="entry-content">
    <?php the_excerpt(); ?>
</div>
<?php endif; ?> 
</article>
</div>
有没有关于如何为代码中的每4篇博客文章应用样式的建议?

1 个回复
SO网友:Aravona

在以下代码中,可以根据循环中的位置专门添加一个类:

<?php
    /* Start the Loop */
    $i = 1;
    $class = \'first-class\';
    while ( have_posts() ) : the_post();

        if($i % 4 == 0){
            $class = \'second-class-\'.+$i;
        }

        echo \'<div class="\'.$class.\'">\'

        get_template_part( \'template-parts/content\', get_post_format() );

        echo \'</div>\'
        $i++;

    endwhile;

?>
这本质上是一个包装器-它不必是一个div,也可以是一个span-但它将在循环中计数,并根据循环中的计数是否大于3(前4个帖子为0-3)更改包装器类。然后,您可以将CSS基于包装器类,以获得更大的特殊性。

结束