WordPress中给媒体文件添加分类和标签的PHP功能实现


Posted in PHP onDecember 31, 2015

从WordPress后台媒体库上传的媒体文件,不像文章那样可以给它指定分类和标签,但是很多时候我们又需要这样的功能,如一些下载站、图片站等。

媒体编辑页面的原始状态

WordPress中给媒体文件添加分类和标签的PHP功能实现

很明显,在WordPress后台的媒体编辑页面,默认情况下是没有分类和标签给你选的。

给媒体文件添加分类

在当前主题的functions.php中添加以下php代码:

function ludou_add_categories_to_attachments() {
  register_taxonomy_for_object_type( 'category', 'attachment' );
}
add_action( 'init' , 'ludou_add_categories_to_attachments' );

保存并上传functions.php,刷新一下媒体编辑页面,你会看到右边栏多了个分类目录:

WordPress中给媒体文件添加分类和标签的PHP功能实现

给媒体文件添加标签

在当前主题的functions.php中添加以下代码:

function ludou_add_tags_to_attachments() {
  register_taxonomy_for_object_type( 'post_tag', 'attachment' );
}
add_action( 'init' , 'ludou_add_tags_to_attachments' );

保存并上传functions.php,刷新一下媒体编辑页面,你会看到右边栏多了个标签栏:

WordPress中给媒体文件添加分类和标签的PHP功能实现

同时,在多媒体列表页,也添加显示媒体的分类和标签,同样左边栏的多媒体菜单下也多了分类目录和标签两个子菜单:

WordPress中给媒体文件添加分类和标签的PHP功能实现

好了,给媒体文件添加分类和标签就这么简单,我们可以将上面添加的代码合成下面的代码,更简洁更高效:

function ludou_add_categories_tags_to_attachments() {
  register_taxonomy_for_object_type( 'category', 'attachment' );
  register_taxonomy_for_object_type( 'post_tag', 'attachment' );
}
add_action( 'init' , 'ludou_add_categories_tags_to_attachments' );

另一种方法

其实还有一种方法实现,并且可以实现给多媒体添加独立的分类,而不必混用文章的分类,而且在WordPress后台的多媒体列表页可以直观显示媒体的分类。

使用方法,同样是在当前主题的functions.php中添加php代码:

function ludou_create_media_category() {
 $args = array(
  'label' => '媒体分类',
  'hierarchical' => true,
  'show_admin_column' => true,
  'show_ui'   => true,
  'query_var'  => true,
  'rewrite'   => true,
 );

 register_taxonomy( 'attachment_category', 'attachment', $args );
}

add_action( 'init', 'ludou_create_media_category' );

如果你不排斥使用插件,推荐这个插件:Media Library Categories,可以实现批量修改媒体文件的分类。

PHP 相关文章推荐
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
一步一步学习PHP(2)――PHP类型
Feb 15 PHP
php设计模式 Chain Of Responsibility (职责链模式)
Jun 26 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
php include和require的区别深入解析
Jun 17 PHP
PHP查询网站的PR值
Oct 30 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
destoon实现调用图文新闻的方法
Aug 21 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
php表单处理操作
Nov 16 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
Dec 31 #PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 #PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 #PHP
详解Window7 下开发php扩展
Dec 31 #PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 #PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
Jul 21 #PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 #PHP
You might like
PHP初学者头疼问题总结
2006/10/09 PHP
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
php ajax 静态分页过程形式
2011/09/02 PHP
php类的定义与继承用法实例
2015/07/07 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
jQuery实现简单的tab标签页效果
2016/09/12 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
python 正则式使用心得
2009/05/07 Python
Python中类的初始化特殊方法
2017/12/01 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
2020/04/14 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
年终自我鉴定
2013/10/09 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
聘用意向书范本
2014/04/01 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
电台广播稿范文
2015/08/19 职场文书
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL