影戏拍客 > 记事本 > 欲思博客主题首页幻灯片优化简化,自动过滤无图文章,自动裁剪图片大小
首先在主题文件夹里functions.php加入下面这个读取图片地址

function get_post_thumbnail_url($thumbnail = 'thumbnail', $post_id = ''){
global $post;
$post_id = (null === $post_id) ? get_the_ID() : $post_id;
$thumbnail_id = get_post_thumbnail_id($post -> ID);
$thumb_src = '';
if($thumbnail_id){
$thumb = wp_get_attachment_image_src($thumbnail_id, $thumbnail);
$thumb_src = $thumb[0];
if ($thumbnail != 'full' && empty($thumb_src)){
$thumb = wp_get_attachment_image_src($thumbnail_id, 'full');
$thumb_src = $thumb[0];
}
}
if (empty($thumb_src)){
$thumb_src = preg_match_all('/<img.*?src=['"](.*?)['"]/is', $post -> post_content, $matches) ? $matches[1][0]:'';
}
if (!empty($thumb_src)){
return $thumb_src;
}else{
$random = mt_rand(1, 10);
return get_bloginfo('template_url') . '/img/pic/' . $random . '.jpg';
}
}

然后把modules/sticky.php这个文件的代码替换为下面这代码:

<?php if (!Yusi_is_mobile() ): ?>
<div id="wowslider-container1">
<div class="ws_images">
<ul>
<?php
$str_min_src='';
$i=0;
$d_sticky_count=dopt('d_sticky_count')?dopt('d_sticky_count'):4;
$sticky = get_option('sticky_posts'); rsort( $sticky );
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1, 'showposts' => 20 ) );
while (have_posts()) : the_post();
$str_src=get_post_thumbnail_url('full');
if (!empty($str_src)&&!strstr($str_src,'/img/pic/')) {
$str_min_src .='<a target="_blank" href="#" title="'.get_the_title().'"><img src="'.get_bloginfo("template_url").'/timthumb.php?src='.$str_src.'&h=62&w=120&q=90&zc=1&ct=1" /></a>';
echo '<li><a target="_blank" href="'.get_permalink().'" title="'.get_the_title().'"><img src="'.get_bloginfo("template_url").'/timthumb.php?src='.$str_src.'&h=297&w=716&q=90&zc=1&ct=1" title="'.get_the_title().'" alt="'.get_the_title().'" /></a></li>';
$i++;
if ($i>=$d_sticky_count) break;
}
endwhile;
wp_reset_query();
?>
</ul>
</div>
<div class="ws_thumbs">
<div>
<?php echo $str_min_src;?>
</div>
</div>
<div class="ws_shadow"></div>
</div>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/slider.js"></script><?php endif ;?>

现在大图也是自动使用timthumb.php截取716*279的图片大小。
需要在timthumb.php这里添加你连接图片网址的域名。
$ALLOWED_SITES = array ('www.yxpk.net','yxpk.net');
使用这个timthumb功能,还要设置主题文件夹cache权限777才能正常了

下载sticky代码
既然来了就说点什么吧………
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论
同盟源
同盟源安徽省芜湖市 电信2015-01-23 13:12回复
#8
过来看看
APP推荐
APP推荐浙江省温州市 移动2015-01-21 00:51回复
#7
请问幻灯片图片的大小怎么修改。就是将716*279改成其他尺寸
メ﹎暖阳ゝ
メ﹎暖阳ゝ广西壮族自治区柳州市 电信2014-12-13 10:12回复
#6
怎么出错?
Tweck_One
Tweck_One河北省秦皇岛市 电信2014-12-12 08:22回复
#5
为什么我弄这个一直出错===
メ﹎暖阳ゝ
メ﹎暖阳ゝ广西壮族自治区柳州市 电信2014-09-13 20:18回复
#4
没试过,应该也是不行的,因为幻灯片是必须限制尺寸,才能播放的好看
yueer
yueer辽宁省大连市 教育网2014-09-13 20:11回复
#3
变形没事,我只要求能显示整张图片就行,请问这个怎么实现啊?
メ﹎暖阳ゝ
メ﹎暖阳ゝ广西壮族自治区柳州市 电信2014-09-13 20:05回复
#2
裁剪后的图片,显示不完全,但是不会变形的。只调整图片的长宽保持图片的完整,就会看上去是变形的
yueer
yueer辽宁省大连市 教育网2014-09-13 17:11回复
#1
你的这个教程很不错,但是使用时有一点点不好的地方,就是这个代码是裁剪图片,裁剪后滚动图中显示的就不完整了。有没有可能只调整图片的长宽保持图片的完整,而不是裁剪图片呢?期待您的回复。