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 相关文章推荐
真正面向对象编程:PHP5.01发布
Oct 09 PHP
PHP备份/还原MySQL数据库的代码
Jan 06 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 PHP
thinkphp 多表 事务详解
Jun 17 PHP
PHP列出MySQL中所有数据库的方法
Mar 12 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
Yii CGridView用法实例详解
Jul 12 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 PHP
php多进程应用场景实例详解
Jul 22 PHP
php实现的生成排列算法示例
Jul 25 PHP
php中对象引用和复制实例分析
Aug 14 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/11/25 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
2018/05/31 PHP
thinkPHP+LayUI 流加载实现功能
2019/09/27 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
Python 处理图片像素点的实例
2019/01/08 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
学习决心书
2014/03/11 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
优秀团员自我评价
2015/03/10 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers