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小偷相关截取函数备忘
Nov 28 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
浅析SVN常见问题及解决方法
Jun 21 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
PHP中is_dir()函数使用指南
May 08 PHP
PHP简单获取及判断提交来源的方法
Apr 22 PHP
php UNIX时间戳用法详解
Feb 16 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
Feb 11 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程序中防止盗链
2008/04/09 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
python创建和删除目录的方法
2015/04/29 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
详解Django的model查询操作与查询性能优化
2018/10/16 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
python数据化运营的重要意义
2019/11/25 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
用 Python 制作地球仪的方法
2020/04/24 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
美国存储和组织商店:The Container Store
2017/08/16 全球购物
捷克玩具商店:Bambule
2019/02/23 全球购物
电信营业员自我评价分享
2014/01/17 职场文书
超市总经理岗位职责
2014/02/02 职场文书
精彩的广告词
2014/03/19 职场文书
教师产假请假条范文
2014/04/10 职场文书
调查研究项目计划书
2014/04/29 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
综治工作汇报材料
2014/10/27 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
心灵点滴观后感
2015/06/02 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS