检查博客帖子数量并添加css的代码

时间:2013-08-16 作者:vytfla

是否有任何类型的jquery可以用来检查页面上是否只有一篇博客文章,然后添加自定义CSS?如果有多个,添加不同的CSS?

<div class="main-blog top top-fix">
  <?php if ( have_posts() ) : ?>
    <?php while ( have_posts() ) : the_post( \'\' ); ?>

      <div class="divider over">
        <div class="blog-txt left">
          <time datetime="<?php the_time( \'Y-m-d\' ); ?>" pubdate><?php the_time( \'F j, Y\' ); ?></time>

          <div class="caps blk blog-marg">
            <p href="<?php the_permalink(); ?>"><?php the_title(); ?></p>
          </div> <!-- end #BLOGMARG -->

          <div class="fon">
            <?php the_content(); ?>
          </div> <!-- end #FON -->
        </div> <!-- end #BLOGTXT -->

        <div class="blog-img right">
          <?php
          echo(types_render_field( "blog-image", array("output" => "html") ));
          ?>
        </div> <!-- end #BLOGIMG -->
      </div> <!-- end #DIVIDER -->

    <?php endwhile; ?>
  <?php endif; ?>
</div> <!-- end #MAINBLOG -->

3 个回复
SO网友:RRikesh

你可以使用$wp_query->found_posts 获取循环中的帖子数。

if( $wp_query->found_posts > 1 ){
  // add css for multiple posts
}

SO网友:Kumar

这对你有好处

 $total_posts = $wp_query->post_count;
 if($total_posts = 1){
   $div_class="single-post";
 }elseif($total_posts > 1)}
    $div_class= "multiple-posts";    
 } 
放在后面

 <?php while(have_posts()) : the_post(\'\');
这样它就会变成

 <?php 
       while(have_posts()) : the_post(\'\');
       $total_posts = $wp_query->post_count;
       $div_class = \'\';
       if($total_posts = 1){
          $div_class="single-post";
       }elseif($total_posts > 1)}
         $div_class= "multiple-posts";    
       }
  ?>
  <div class="divider over <?php echo $div_class; ?>">
然后将$div\\u类回显到要向其中添加类的特定元素。

SO网友:Geert

仅当文章是唯一的文章时,才使用CSS方法(基于您的标记)设置文章样式:

.main-blog > .divider:only-child { }
请参见:https://developer.mozilla.org/en-US/docs/Web/CSS/:only-child

顺便说一下,不要把每一篇文章都用<div class="divider over">, 使用post_class() 函数,默认情况下添加一些特定的post类,并为插件提供挂钩:

<div <?php post_class( \'divider over\' ); ?>>

结束

相关推荐

在jQuery中,使用php变量来执行排队jQuery文件

我正在一个特定的Wordpress管理页面上加载一些jquery,jquery可以加载并正常工作,但如果存在php变量,我只需要这个jquery触发器。在php中,我只需编写一个函数并将其挂接到管理页面:我正在将jquery文件排队,即foo。包含以下jquery的js:jQuery(document).ready(function($){ $(\'#someID.some-class > a\').append(\'<div class=\"caption\"><