wordpress免插件缩略图支持外链图

网络博客 郑永 10679℃ 17评论 显示侧边栏

前天在整缩略图,也许有很多博客写文章不喜欢带图,但是图文并茂,看起来会好看些,所以本站每篇文章都带一张图片,就算没有图,也要截取一张,那么现在自己整主题,不想用插件,不想用带生产缩略图的代码,就找到了一个免插件实现缩略图的功能:

<?php
function catch_that_image() {
global $post, $posts;
$first_img = ”;
ob_start();
ob_end_clean();
$output = preg_match_all(‘/<img.+src=[\'”]([^\'”]+)[\'”].*>/i’, $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Defines a default image
$first_img = “/images/default.jpg”;}return $first_img;}

?>

这段代码写入functions里面以后,当文章没有图片的时候,默认缩略图只能指定一个绝对路径,那么我想自动获取主题路径,
而不是host/images/default.jpg,另外我想实现默认图片为指定目录下的随机图片,而不是全都一样的,应该如何实现了?

经过抓破头皮的搜索资料,才实现了这个效果,这就是不懂代码的郁闷,不过还是被我整出来了:

网上方法如下:

<?php
function catch_that_image() {
$tu=rand(1,10);
global $post, $posts;
$first_img = ”;
ob_start();
ob_end_clean();
$output = preg_match_all(‘/<img.+src=[\'”]([^\'”]+)[\'”].*>/i’, $post->post_content, $matches);
$first_img = bloginfo(‘template_url’).$matches [1] [0];
if ($matches[1][0]==”) {
$first_img = ‘/images/rand/’.$tu.’.jpg’; //如果文章没有图片则随机调用默认图片
}
return $first_img;}

?>

在主题的images下建立rand文件夹,里面放名称为1.jpg,2.jpg…到10.jpg的10张图片。。。

经过测试,然后仔细看这个代码有个严重的问题,虽然实现了我要的功能,但是有缩略图的文章居然无法显示缩略图了,后来经过改正,代码如下:

function catch_that_image() {
$tu=rand(1,10);
global $post, $posts;
$first_img = ”;
ob_start();
ob_end_clean();
$output = preg_match_all(‘/<img.+src=[\'”]([^\'”]+)[\'”].*>/i’, $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Defines a default image
$first_img = bloginfo(‘template_url’).”/images/rand/”.$tu.”.jpg”;}

return $first_img;}

不懂代码,只能靠思考了,哈哈,这个免插件缩略图还不错,之前有考虑过那个thumbnail的那个,但是代码那么多,而且还有什么cache之类,麻烦,占空间,所以就不用了,现在这个简单多了,载入也不会慢,满快的。

转载请注明:郑永博客 » wordpress免插件缩略图支持外链图

历史上的今天:

(17)个小伙伴在吐槽
Loading...
  1. 分文博客2012-12-03 04:33 Google Chrome 23 Windows XP 回复

    额 前提是要找个靠谱的外链图床

    沙发!
    • 郑永2012-12-03 13:10 Firefox 17 Windows XP 回复

      picasa,前天测试了,国内可以访问,另外wordpress有个插件,可以直接插入你想要的picasa图片,很好用,呵呵。而且手机支持批量上传图片,好用。

    • dzz2014-06-08 11:58 Google Chrome 33 Windows 8 回复

      你直接在BAE上申请一个服务器就好了

  2. 厦门网站建设2012-12-03 09:49 TheWorld Browser Windows 7 回复

    挺会想的,学习了

    板凳!
  3. zwwooooo2012-12-03 11:10 Firefox 17 Windows 8 回复

    好吧,其实我这定制的主题都是这样处理的:
    if(设置WP特色图片)显示特色图片
    elseif (文章有图片) 显示文章第一张【这里可以考虑用timthumb】
    else 显示默认图片

    地板!
    • 郑永2012-12-03 13:07 Firefox 17 Windows XP 回复

      有看到输出代码用这类的,但是感觉很复杂,代码很多,所以就在funtions里面搞了。

  4. zwwooooo2012-12-03 11:11 Firefox 17 Windows 8 回复

    新主题好看,比上个好,个人感觉。

    4楼
    • 郑永2012-12-03 13:06 Firefox 17 Windows XP 回复

      这个主题花了我几天时间,挺累的。郁闷。。尤其是css方面。

  5. 凌妏娅2012-12-03 14:39 Firefox 16 Windows XP 回复

    这个之前确实不懂,谢谢你的分享。

    5楼
  6. chojemmy2012-12-04 08:17 Google Chrome 23 Windows 7 回复

    你也真能折腾,不会代码都折腾出来了。Picasa经常抽风的,一会行一会不行,还是不要做图床为妙

    6楼
    • 郑永2012-12-04 12:10 Firefox 17 Windows XP 回复

      是啊,努力一下,问题终能解决。 picasa我是一时兴起啊,感觉图片上传速度快,然后又是我安卓手机里的一个批量上传利器,不过仔细想一下,也没什么东西好上传的,呵呵。

  7. chojemmy2012-12-04 08:18 Google Chrome 23 Windows 7 回复

    有时候明明没事,却加一张毫无关联的图片,我觉得挺没意思的。

    7楼
    • 郑永2012-12-04 12:08 Firefox 17 Windows XP 回复

      说得有道理,这次调用了随机图片,就是为了不用为每篇文章加图片。

  8. IT杂记2012-12-06 17:47 Opera IBIS 12 Windows XP 回复

    没有图片的话,去可以增加图片,可能会影响网站的载人速度吧

    8楼
  9. 风机盘管2012-12-09 01:48 Internet Explorer 6 Windows XP 回复

    也要截取一张,

    9楼
  10. 叶子天堂2013-02-28 03:17 Google Chrome 25 Windows 7 回复

    我的是这个

    if WP特色图片
    else 分类图标

    其实默认的媒体功能也很好了 现在

    10楼
  11. 牛吧2015-10-22 15:38 Google Chrome 31 Windows XP 回复

    wordpress dux 。文章里只有一张外链图,然后能否首页直接读取文章的外链图做为首页缩略图?

    11楼
gravatar
发表我的评论
取消评论


Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址