当前位置:首页 > WordPress教程 > 正文

让 WordPress 缩略图机制支持URL外链图片

使用七牛的同学会知道,即使使用了七牛,可是图片缩略图还是以前的,显示不了七牛的图片。虽然说七牛也有可以调整图片大小的API,可是对于一般的同学来说还是挺麻烦的,而且也是大材小用。现在分享一个不使用API让所有wordpress都支持外链缩略图(可调整大小)

这是这个的功能:

  • 支持手动上传缩略图
  • 支持缩略图外链引用
  • 如果文章内包含有图片,就用第一张图片做为缩略图
  • 如果文章内没有图片,则用默认的图片

用 WordPress 提供的自定义栏目功能来解决。

$postImageUrl = get_post_meta($post->ID, 'thumbnail', true); //设置自定义栏目名为“thumbnail”

1.在functions.php文件中添加下面代码

//缩略图获取
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 262, 114 ,true );//设置缩略图的尺寸
function dm_the_thumbnail() {
global $post;
$postImageUrl = get_post_meta($post->ID, 'thumbnail', true); //设置自定义栏目名为“thumbnail”
// 判断该文章是否设置有缩略图,如果有则直接显示
if ( has_post_thumbnail() ) {
echo '<span class="work-thumbnail">';
the_post_thumbnail();
echo '</span>';
} elseif ($postImageUrl) {
echo '<span class="work-thumbnail"><img alt="" src="'.$postImageUrl.'" /></span>';
} else { //如果文章没有设置缩略图,则查找文章内是否包含图片
$content = $post-&gt;post_content;
preg_match_all('/&lt;img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?&gt;/sim', $content, $strResult, PREG_PATTERN_ORDER);
$n = count($strResult[1]);
if($n &gt; 0){ // 如果文章内包含有图片,就用第一张图片做为缩略图
echo '<span class="work-thumbnail"><img alt="" src="'.$strResult[1][0].'" /></span>';
}else { // 如果文章内没有图片,则用默认的图片
echo '<span class="work-thumbnail"><img alt="" src="'.get_bloginfo('template_url').'/images/thumbnail.jpg" /></span>';
}
}
}

2.折腾完这些步骤以后,需要后台界面右上角点击显示选项,勾选自定义栏目。

3.获取timthumb.php文件,放在主题根目录下
然后调整样式之类的,关于代码中的结构和类名可以修改为适合自己所使用的主题。

标签:
上一篇: 下一篇:

12 条评论

评论加载中...
  1. 地板
    来自天朝的朋友 谷歌浏览器 Windows 7
    sayings  

    收下了 试试新版本中是否有效

    2016年8月10日 11:52 评论
  2. 板凳
    来自天朝的朋友 未知浏览器 Unknow Os
    中国历史  

    好东西,我的缩略图就显示不了了,收藏先,回家弄弄去。

    2014年10月5日 08:14 评论
  3. 沙发
    Hong Kong 未知浏览器 Unknow Os
    超級efly  

    前來支持一下~不過我還是喜歡自己上傳圖片 XDD

    2014年10月2日 23:29 评论

发表评论

不理你。不要啊!吃饭。吃惊。吃西瓜。飞吻!恭喜!Hi纠结!膜拜!OK抛媚眼。泡泡糖。抛钱。忍!生闷气!调皮。偷看。委屈。献花。疑问?抓狂!

小提示:Ctrl+Enter快速提交助您一臂之力~
加载中……