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

2012年12月3日02:27:07 17 12,345

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

<?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之类,麻烦,占空间,所以就不用了,现在这个简单多了,载入也不会慢,满快的。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:17   其中:访客  12   博主  5

    • 分文博客 5
      Google Chrome 23 Windows XP

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

        • 郑永 Admin
          Firefox 17 Windows XP

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

          @分文博客

          • dzz 0
            Google Chrome 33 Windows 8

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

            @郑永

          • 厦门网站建设 2
            TheWorld Browser Windows 7

            挺会想的,学习了

            • zwwooooo 9
              Firefox 17 Windows 8

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

                • 郑永 Admin
                  Firefox 17 Windows XP

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

                  @zwwooooo

                • zwwooooo 9
                  Firefox 17 Windows 8

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

                    • 郑永 Admin
                      Firefox 17 Windows XP

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

                      @zwwooooo

                    • 凌妏娅 0
                      Firefox 16 Windows XP

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

                      • chojemmy 6
                        Google Chrome 23 Windows 7

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

                          • 郑永 Admin
                            Firefox 17 Windows XP

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

                            @chojemmy

                          • chojemmy 6
                            Google Chrome 23 Windows 7

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

                              • 郑永 Admin
                                Firefox 17 Windows XP

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

                                @chojemmy

                              • IT杂记 0
                                Opera IBIS 12 Windows XP

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

                                • 风机盘管 4
                                  Internet Explorer 6 Windows XP

                                  也要截取一张,

                                  • 叶子天堂 1
                                    Google Chrome 25 Windows 7

                                    我的是这个

                                    if WP特色图片
                                    else 分类图标

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

                                    • 牛吧 0
                                      Google Chrome 31 Windows XP

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