更丰富一些|让WordPress媒体库识别.pdf文件

更丰富一些|让WordPress媒体库识别.pdf文件

前言:

PDF是一个挺不错的文件格式,普及率也是蛮大的。
WordPress的媒体库(Media Library)默认只支持图片、视频和音频,有时候这些是不够用的,媒体库允许上传的文件种类众多,需要更细化的分类,比如pdf文件。

 

媒体库支持pdf

让媒体库支持pdf分类

这段来自tutsplus的代码可以帮助我们实现如上图所示的效果,将代码放到主题的functions.php中

  1. function modify_post_mime_types( $post_mime_types ) {
  2.     // 选择mime类型,这里用: ‘application/pdf’
  3.     // 然后扩充数组,定义label的文字
  4.     $post_mime_types[‘application/pdf’] = array( __( ‘PDFs’ ), __( ‘Manage PDFs’ ),
  5. _n_noop( ‘PDF <span class=“count”>(%s)</span>’, ‘PDFs <span class=“count”>(%s)</span>’ ) );
  6.     // then we return the $post_mime_types variable
  7.     return $post_mime_types;
  8. }
  9. // Add Filter Hook
  10. add_filter( ‘post_mime_types’, ‘modify_post_mime_types’ );

到媒体库中上传一个pdf文件,就可以看到效果了。

如何支持更多分类

WordPress支持的文件类型在wp_includes/functions.php中有写,搜索一下

function get_allowed_mime_types()

就可以找到这些类型

  1. ‘jpg|jpeg|jpe’ => ‘image/jpeg’,
  2. ‘gif’ => ‘image/gif’,
  3. ‘png’ => ‘image/png’,
  4. ‘bmp’ => ‘image/bmp’,
  5. ‘tif|tiff’ => ‘image/tiff’,
  6. ‘ico’ => ‘image/x-icon’,
  7. ‘asf|asx|wax|wmv|wmx’ => ‘video/asf’,
  8. ‘avi’ => ‘video/avi’,
  9. ‘divx’ => ‘video/divx’,
  10. ‘flv’ => ‘video/x-flv’,

找到自己需要的类型,按照

  1. $post_mime_types[‘application/pdf’] = array( __( ‘PDFs’ ), __( ‘Manage PDFs’ ),
  2. _n_noop( ‘PDF <span class=“count”>(%s)</span>’, ‘PDFs <span class=“count”>(%s)</span>’ ) );

的写法,将‘application/pdf’替换成需要的mime类型即可,后面的文字也要相应改一改。这是php中增加数组成员的方式,你当然可以增加更多数组元素实现支持多个自定义类型。

写在后面:

忘记PDF我做不到,我一定要让大家也解决这个烦恼。

本文参考于 http://www.solagirl.net/add-pdf-support-to-wordpress-media-library.html  ,若有任何来源问题,请联系QQ:1516677079 及时更正。

最有意思的设计站点


最好的UI素材库

我们极力推荐: