php 缩略图 失真,WORDPRESS缩略图失真变形模糊的解决方法

众所周知,网站最怕改版,其中一个主要的原因就是缩略图的问题,旧模板的缩略图尺寸不一定适合新版的模板缩略图尺寸要求,尽管后台的设置-多媒体-缩略图尺寸修改了,可这是新上传的图片才会生成新的尺寸的缩略图,建站网想了很多办法,也从郑力大神那看到用ps加数据库批量的方法,可是建站网里图片太多,缩略图尺寸也复杂不一,曾经还做过中文文件名md5转换,用ps家数据库批量的方法实在是复杂和累人!如何才能快速又方便的解决wordpress缩略图尺寸重新裁剪的问题呢?从奶嘴那了解到谷歌的timthumb很好用,建站网就百度了下,确实找到相关的文献,通过摸索,现在通过timthumb就可以自由的给缩略图裁剪自己设定的缩略图,可以说一个文章的缩略图可以有几个缩略图的尺寸,做到全站所有要展现缩略图的地方的尺寸都是最清晰的!下面我们来看教程:

ac53325f8b09faa6baeafe60a7aece65.png

01

02

function post_thumbnail( $width = 100,$height = 80 ){

03

global $post;

04

if( has_post_thumbnail() ){    //如果有缩略图,则显示缩略图

05

$timthumb_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');

06

$post_timthumb = ''.get_bloginfo(

07

} else {

08

$post_timthumb = '';

09

ob_start();

10

ob_end_clean();

11

$output = preg_match('//i',$post->post_content, $index_matches);    //获取日志中第一张图片  

12

$first_img_src = $index_matches [1];    //获取该图片 src

13

if( !empty($first_img_src) ){    //如果日志中有图片

14

$path_parts = pathinfo($first_img_src);    //获取图片 src 信息

15

$first_img_name = $path_parts["basename"];    //获取图片名

16

$first_img_pic = get_bloginfo('wpurl').'/cache/'.$first_img_name;    //文件所在地址

17

$first_img_file = ABSPATH. 'cache/'.$first_img_name;    //保存地址

18

$expired = 604800;    //过期时间

19

if ( !is_file($first_img_file) || (time() -filemtime($first_img_file)) > $expired ){

20

copy($first_img_src, $first_img_file);    //远程获取图片保存于本地

21

$post_timthumb = ''.%24first_img_src.'

22

}

23

$post_timthumb = ''.get_bloginfo(

24

$post_timthumb = ''.get_bloginfo(

25

echo $post_timthumb;

26

}

27

}

28

?>

将上面的代码放进WP的主题模板文件夹functions.php内,然后下载timthumb.php 文件放到主题根目录下!然后通过:

1

这个函数就可以调用出裁剪好尺寸为243*182的缩略图了,相应的缩略图结构代码参照:

1

"><?php post_thumbnail(243,182); ?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php表单 提交数据,PHP表单提交数据

1.PHP表单处理PHP 超全局变量 $_GET 和 $_POST 用于收集表单数据GET 和 POST 都创建数组(例如&#xff0c;array( key > value, key2 > value2, key3 > value3, ...))。此数组包含键/值对&#xff0c;其中的键是表单控件的名称&#xff0c;而值是来自用户的输入数据。…

php ci框架 模板引擎,详解CodeIgniter框架实现的整合Smarty引擎DEMO

CodeIgniter框架实现的整合Smarty引擎DEMO示例本文实例讲述了CodeIgniter框架实现的整合Smarty引擎。分享给大家供大家参考&#xff0c;具体如下&#xff1a;Smarty的模板机制很强大&#xff0c;一般情况下CI框架无需整合其他模板标签&#xff0c;因为PHP本身就是一种标签&…

padodb time.inc.php,怎样实现PHP中ADODB事务处理

这次给大家带来怎样实现PHP中ADODB事务处理&#xff0c;实现PHP中ADODB事务处理的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。一、代码adodb.inc.php可从官方网站http://adodb.sourceforge.net/ 下载。或者点击此处本站下载。conn.php&#xff1a;&…

双用户windows linux系统,Windows与Linux合二为一?终于能在windows上运行Linux了!

原标题&#xff1a;Windows与Linux合二为一&#xff1f;终于能在windows上运行Linux了&#xff01;目前在PC端操作系统市场份额中&#xff0c;微软旗下的windows系统占据超过50%的比例。作为微软旗下发布的产品之一&#xff0c;windows系统深受用户喜爱。从经典的XP和win7&…

linux的用户及权限管理,用户及权限管理

一、Linux用户、组的概念1.用户管理员:root,0其他用户:1-65535系统用户:1-499,守护进程获取资源进行权限分配普通用户:500,交互式登陆2.组管理员组:root,0其他用户:1-65535系统用户组:1-499普通用户组:500note:关于uid,gid的范围可以参考/etc/login.def3.Linux安全上下文进程所…

linux内存使用策略swap,Linux Swap使用分析

Linux操作系统性能分析主要包含磁盘IO、CPU、内存以及网络流量&#xff0c;而这里主要针对系统内存的使用进程情况做个分析。一、如何查看系统内存使用情况1、根据常用命令查看系统内存使用概况free -gtotal used free shared buffers cachedMem: …

csky linux 编译内核,TQ2440的EmbedSky_hello模块编译内核问题及解决

已在内核代码中添加EmbedSky_hello驱动为例&#xff0c;进行内核编译时候出现了一下几个问题&#xff1a;1、在 /opt/EmbedSky/linux 2.6.30.4/drivers/char目录下修改“Kconfig”文件&#xff0c;添加如下内容&#xff1a;config EmbedSky_HELLOtristate "TQ2440/SKY2440…

linux设备树例程,iTOP-iMX6-设备树内核-实时时钟RTC以及Linux-c测试例程

当 Linux 开发者谈论一个实时时钟&#xff0c;他们通常指的是某种能记录墙上时间&#xff0c;并且有备用电池&#xff0c;以至于在系统关机的时候仍然可以工作的器件。Linux 有两个系列广泛兼容的用户空间 RTC 设备节点&#xff1a;• /dev/rtc &#xff1a; PC 机及兼容机系统…

linux jdk bin下载,Linux下安装jdk-6u45-linux-x64.bin

最近在学习linux下java开发&#xff0c;在搭环境的过程中发现网上很多配置都是错误的&#xff0c;现在写出来&#xff0c;供参考&#xff1a;从Oracle上下载jdk-6u45-linux-x64.bin1.下载文件:jdk-6u45-linux-x64.bin,将文件做成光盘挂载[rootlocalhost ~]mount /dev/cdrom /mn…

查看linux上redis的运行状态,Redis教程(七)使用info查看服务状态

一、Redis info命令介绍Redis info命令是Redis自带的一个用于查看服务状态的命令&#xff0c;这个命令类似于top一样可以查看redis服务的整个状态&#xff0c;并且分为了5大类&#xff1a;二、Redisinfo命令语法redis-cli -a redis_pass info #查看所有模块信息redis-cli -a re…

linux应用参数 冒号,Lua-面向对象中函数使用时冒号(:)和点(.)的区别

Lua-面向对象中函数使用时冒号(:)和点(.)的区别&#xff0c;我们先来看一段简单的代码&#xff1a;local Animal {}functionAnimal:Eat( food )print("Animal:Eat", self, food)endfunctionAnimal.Sleep( time )print("Animal.Sleep", self, time)endAnima…

欧框语言框架标准C2,CEFR欧洲语言共同参考框架

http://www.v4.cc/News-3997660.htmlCEFR全称是Common European Framework of Reference for Languages&#xff0c;是由欧洲语言测试者协会(ALTE)于2001年首次发布的一套建议标准&#xff0c;用来评估语言学习者在所学语言的成就&#xff0c;同时也给予一个教育上的评估方针。…

c语言简短的泡沫排序法编程,冒泡排序--简单(c语言)

//// main.cpp// bubble//// Created by duanqibo on 2019/7/17.// Copyright © 2019年 duanqibo. All rights reserved.// 冒泡排序 c语言#include #include #include #include #define N 4typedef struct student{int num;char name[20];char sex[2];int age;}stu[…

算法与数据结构c语言版PPT,C语言算法与数据结构.ppt

C语言算法与数据结构.ppt第十二章 算法与数据结构12.1 算法的基本概念,该节知识点所占试题比重为12&#xff0c;属于重点考查对象&#xff0c;基本上每次必考&#xff0c;主要考查算法的定义和对算法复杂度的理解。历次试题分值在04分之间波动。,12.1.1 考点1 算法的定义,算法是…

android工程师饱和,Android开发是否饱和了?你所不了解的Android开发

原标题&#xff1a;Android开发是否饱和了&#xff1f;你所不了解的Android开发Android开发是否饱和了?是很多人关心的问题&#xff0c;对于想要从事Android开发的人更是头等大事。如今&#xff0c;就业难成横亘在求职者面前的难题&#xff0c;而与 之相反是互联网行业的高薪多…

android 获取wifi的加密类型,wifi加密类型

最近开发wifi方面的功能&#xff0c;需要根据wifi加密类型来展现UI。遇到了一个比较蛋疼的问题&#xff1a;如何判断wifi加密类型wifi的管理需要通过WifiManager来操作WifiManager mWifiManager (WifiManager) context.getSystemService(Context.WIFI_SERVICE);开启和关闭wifi…

android底部导航栏软件,三步搞定android应用底部导航栏

很多android应用底部都有一个底部导航栏&#xff0c;方便用户在使用过程中随意切换。目前常用的做法有三种&#xff1a;一种是使用自定义tabHost&#xff0c;一种是使用activityGroup,一种是结合FrameLayout实现。笔者再做了多款应用后&#xff0c;为了节约开发周期&#xff0c…

android 屏幕飘动,Android自定义View实现飘动的叶子效果(三)

上一篇对自定义View及一些方法有所了解&#xff0c;下面做一个简单的叶子飘动的例子主要技术点1、添加背景图片canvas.drawBitmap()2、Matrix动画类3、Matrix添加到画布上步骤1、添加黄色背景颜色public LeafView(Context context, AttributeSet attrs) {super(context, attrs)…

html 美化input file,Input[type=”file”] 显示效果美化方法 | 智慧宫

Html中input可以作为上传图片代码如下但是演示非常不好看&#xff0c;下面做一番美化处理&#xff0c;效果如下&#xff1a;文件上传美化前后对比美化方法隐藏 input 标签使用 label 标签在input标签位置显示&#xff1b;用js获取 input 中上传的文件名称&#xff0c;并在 labl…

html 进入效果,用css3实现简单的进入效果

这是一个比较简单的小例子&#xff0c;实现如图效果仅仅用css3就可以达到这种效果&#xff0c;代码如下&#xff1a;.div {position: relative;top: 20px;height: 300px;width: 200px;margin: 0 auto;background: blue;float: left;margin-left: 20px;}.div2 {position: relati…