wordpress图片上传技术整理

一、wordpress 2.9版本以后引入了特色图像功能,如果你的wordpress主题支持该功能,我们在这里介绍一下特色图片的调用,如何在首页、分类页等列表页面特定位置显示指定的文章不同尺寸缩略图。

如果你使用的wordrpress主题没有特色图片功能,可以通过以下方法设置。

1、在主题文件夹下的functions.php文件中加入代码:

if ( function_exists( 'add_theme_support' ) ) {  
     add_theme_support( 'post-thumbnails' );  
}

2、在需要显示特色图像的地方插入以下代码





二、上传图片涉及的表

post表:post_type: attachment

postmeta表:_wp_attachment_metadata、_wp_attached_file、_thumbnail_id

三、wordpress前台调用图片方法

wordpress特色图片相关函数:


get_post_thumbnail_id():获取文章缩略图 ID
get_the_post_thumbnail_url():获取文章缩略图链接
the_post_thumbnail_url():这个函数直接显示文章缩略图链接
get_the_post_thumbnail():获取文章缩略图而不是输出它 

下面是关于引用wordpress图片的代码,一共是5中格式:

ID), 'full'); echo $full_image_url[0]; ?>

ID), 'thumbnail'); echo $thumbnail_image_url[0]; ?>

ID), 'medium'); echo $medium_image_url[0]; ?>

ID), 'large'); echo $large_image_url[0]; ?>

ID), array(200,200)); echo $array_image_url[0]; ?>


如果想要系统截取的其他尺寸的图片,对照上面的代码就可,然后把img的src里面的代码换一下就可以了。


//特色图片
<?php the_title(); ?>



//暂无图片





特色图像缩略图尺寸参数设置:修改the_post_thumbnail(); 的参数即可。
1. the_post_thumbnail(‘thumbnail’);       // 小缩略图 (默认 150px x 150px )
2. the_post_thumbnail(‘medium’);          // 中缩略图 (默认 300px x 300px )-自适应图像比例
3. the_post_thumbnail(‘large’);           // 大缩略图 (默认 640px x 640px )-自适应图像比例
4. the_post_thumbnail(‘full’);            // 完整尺寸
5. the_post_thumbnail( array(100,100) );  // 自定义
其中 thumbnail、medium、large的默认尺寸在后台-设置-媒体中定义

四、_wp_attachment_metadata字符串表示涵义(由图片元数据的数组进行序列化保存到数据库,由serialize函数实现)

s表示string字符串,i表示int整数,a表示后面的元素个数

奇数位表示键名,其中s开头的那一串,比如s:5:"width";  里面的5是因为"width"一共是5个字符

偶数位表示键值,其中i表示int整数

a:3:{s:5:"width";i:1024;s:6:"height";i:768;s:4:"file";s:10:"123456.jpg";}里面有三对,所以a后面是3,

由wp_generate_attachment_metadata($attachment_id, $file)函数生成

$attachment_id (int) (必填) 要处理的附件ID。默认值: None

$file (string) (必填) 文件在服务器上的位置。使用绝对路径而不是文件的URI。文件必须在uploads目录中。请参阅wp_upload_dir() 默认值: None

参考资料:

1、黄聪:WordPress: 使用 wp_insert_attachment 上传附件

你可能感兴趣的:(php,开发语言)