我有不同大小的交替发布课程(.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;
}
非常感谢任何帮助。
答案 0 :(得分:0)
我建议采用不同的方法,即在将图像上传到媒体库而不是在运行时上映时,在主题上注册图像尺寸作为图像裁剪。
所以你可以这样做:
在主题的functions.php文件中注册两个图像尺寸:
add_image_size('odd-thumb',1000,500,true);
add_image_size('even-thumb',300,300,true);
现在在您的前端模板循环中添加奇数/偶数逻辑类。并调用缩略图,只调用重要的缩略图,即跟随代码(使用您的代码作为基础,因为我不知道您的主题是如何设置的,但您将了解需要更改的内容:)
if('even'){
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'even-thumb' );
}
}else if('odd'){
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'odd-thumb' );
}
}