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原创论坛
Oct 09 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
phpmailer中文乱码问题的解决方法
Apr 22 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
getJSON跨域SyntaxError问题分析
Aug 07 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
php 二维数组快速排序算法的实现代码
Oct 17 PHP
PHP检测接口Traversable用法详解
Dec 29 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
TP5框架实现签到功能的方法分析
Apr 05 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中慎用双等于(==)的详解
2013/06/06 PHP
最短的IE判断代码
2011/03/13 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
python实现单向链表详解
2018/02/08 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
深入浅析python with语句简介
2018/04/11 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
python实现Oracle查询分组的方法示例
2020/04/30 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
什么是反射?如何实现反射?
2016/07/25 面试题
《大自然的语言》教学反思
2014/04/08 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
2014年人民警察入党思想汇报
2014/10/12 职场文书
与死神共舞观后感
2015/06/15 职场文书
公司保密管理制度
2015/08/04 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python