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 相关文章推荐
PHP的FTP学习(二)
Oct 09 PHP
投票管理程序
Oct 09 PHP
其他功能
Oct 09 PHP
php面向对象全攻略 (二) 实例化对象 使用对象成员
Sep 30 PHP
php去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
php实现简单的MVC框架实例
Sep 23 PHP
网页的分页下标生成代码(PHP后端方法)
Feb 03 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
Jun 19 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
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
php fread函数使用方法总结
2019/05/28 PHP
基于jQuery实现网页打印功能
2015/12/01 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Python多继承原理与用法示例
2018/08/23 Python
python实现月食效果实例代码
2019/06/18 Python
Python秒算24点实现及原理详解
2019/07/29 Python
Python PIL图片添加字体的例子
2019/08/22 Python
Python箱型图处理离群点的例子
2019/12/09 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
Python定义一个函数的方法
2020/06/15 Python
python中有帮助函数吗
2020/06/19 Python
python+requests接口自动化框架的实现
2020/08/31 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
薇诺娜官方网上商城:专注敏感肌肤
2017/05/25 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
J2EE系统只能是基于web
2015/09/08 面试题
父亲的菜园教学反思
2014/02/13 职场文书
农村党员一句话承诺
2014/05/30 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
写给父母的感谢信
2015/01/22 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
办公室岗位职责范本
2015/04/11 职场文书
2016计算机专业毕业生自荐信
2016/01/28 职场文书
制定企业培训计划的五大要点!
2019/07/10 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫