找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2279|回复: 0

[分享] wordpress日志缩略图功能深度剖析

[复制链接]
发表于 2016-1-8 08:59:30 | 显示全部楼层 |阅读模式 来自 中国–河南–郑州

对于一个有深度有内涵的网站而言,精彩的内容永远都是要放在第一位的,但这并不意味着我们可以忽视网站的外观设计,设想一下网站上到处都是大段的纯文字,那么即使字字玑珠,也会引起读者的视觉疲劳。在这样一种情境下,为wordpress的日志正文搭配相关的插图、网站首页搭配日志缩略图就变得十分必要。
日志正文搭配插图,这个没有什么技巧,直接通过wordpress的媒体库添加图片到编辑区就可以,因此本文将重点放在剖析日志缩略图的设置方法上,接下来的内容,我会给大家将目前设置缩略图的各种方法逐一进行梳理,并整合成一个多层次的判断语句。
首先给大家展示一下,目前设置缩略图的四种方法(详见下图),我按照自己的理解将其排列成如下顺序,并且在图中列出了各种实现缩略图的方法的图片来源,通过自定义字段可以调用外链图片,而后面三种方法仅能使用本地图片。

下面我通过分层条件判断语句的方式,将上述四种缩略图调用方式整合到一起,并设置成四个顺序执行的环节,只有当上面的条件不满足的时候,才会顺次对下面的条件进行判断,并执行相应的语句。(详见下图)

下面就到了见证奇迹的时刻,请看缩略图实现代码。
  1. [url=<?php the_permalink(); ?>]ID, 'image', true) ) : ?>
  2. ID, 'image', true); ?>
  3. "/>

  4. '','title'=>trim(strip_tags( $attachment->post_title )) ));?>

  5. "/>

  6. " />[/url]
复制代码
上述代码中,设定的自定义字段的名字是image,如果你希望通过外链图片作为缩略图,请在编辑文章的时候添加一个名字为image的自定义字段,字段值为外链图片的链接即可。另外需要提请注意的是,本文设置的缩略图大小为(225,136),你可以通过修改代码中的相应数字任意调整缩略图大小,以便更好的适应你的主题布局。
为了使上述代码能够流畅的运行,还有几件事情需要做;
第一件事情是确保当前所用wordpress主题支持特色图像功能,查看一下主题的function文件中是否有add_theme_support('post-thumbnails')这一语句,没有的话请添加上;
第二件事情是为了实现抓取正文中第一张图片做缩略图的功能,需要在当前主题的function文件中添加如下函数:
  1. function catch_that_image(){
  2.       global $post, $posts;
  3.       $first_img = '';
  4.       ob_start();
  5.       ob_end_clean();
  6.       $output = preg_match_all('//i', $post->post_content, $matches);
  7.       $first_img = $matches [1] [0];
  8.       if(empty($first_img)){ //Defines a default image
  9.         $first_img ="0";
  10.       }
  11.       return $first_img;
  12.     };
复制代码
第三件事是在当前主题文件夹的images文件夹中新建一个名为random的文件夹,在里面放上若干jpg格式的图片即可,根据图片的数目相应修改rand函数后面的数字即可。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-4 01:45 , Processed in 0.050535 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表