特色图像的交替比率

时间:2015-10-13 15:30:58

标签: php css wordpress image-resizing

我有不同大小的交替发布课程(.even& .odd)。然而,我想要的是,特色图像上的比例也是交替的。因此,我希望.even特色图像的比例为1:1,而.odd的比例为3:2。有可能用css裁剪图像吗?我已经尝试将以下代码添加到我的functions.php中,但它只为我提供了一个比例。

if('even'){  // only on frontpage
   if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
   set_post_thumbnail_size( 300, 300, true );
   }

   }else if('odd'){
   if ( has_post_thumbnail() ) {
   set_post_thumbnail_size( 1000, 500, true );
   }
}

来自functions.php的更多代码

 add_filter( 'post_class', 'sk_even_odd_post_class' );
 function sk_even_odd_post_class( $classes ) {

 global $wp_query;

 if ( is_home() || is_archive() || is_search() ) {
 $classes[] = ($wp_query->current_post % 3 == 0) ? 'odd' : 'even';
 }

 return $classes;

}

set_post_thumbnail_size( 1000, 400, true );

CSS:

.odd.entry {
    border: 0px solid #288eb0;
}

.odd.entry img{
    width:100%;

}

.even.entry {
    border: 0px solid #fff;
}

.even.entry img{
    height:auto;
    width:400px;
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我建议采用不同的方法,即在将图像上传到媒体库而不是在运行时上映时,在主题上注册图像尺寸作为图像裁剪。

所以你可以这样做:

  1. 在主题的functions.php文件中注册两个图像尺寸:

    add_image_size('odd-thumb',1000,500,true);

    add_image_size('even-thumb',300,300,true);

  2. 现在在您的前端模板循环中添加奇数/偶数逻辑类。并调用缩略图,只调用重要的缩略图,即跟随代码(使用您的代码作为基础,因为我不知道您的主题是如何设置的,但您将了解需要更改的内容:)

     if('even'){  
     if ( has_post_thumbnail() ) { 
      the_post_thumbnail( 'even-thumb' ); 
                }
    
      }else if('odd'){
       if ( has_post_thumbnail() ) {
            the_post_thumbnail( 'odd-thumb' ); 
                    }
         }