WordPress让媒体文件也有分类和标签

日期: 标签:WordPress教程 39 条留言
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

以下方法存在问题,点此看:新方法

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

媒体编辑页面的原始状态

媒体编辑页面的原始状态

很明显,在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,刷新一下媒体编辑页面,你会看到右边栏多了个分类目录:

给媒体文件添加分类

给媒体文件添加标签

在当前主题的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,刷新一下媒体编辑页面,你会看到右边栏多了个标签栏:

给媒体文件添加标签

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

多媒体列表页添加显示媒体的分类和标签

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

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' );

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜博客 https://www.ludou.org/wordpress-applying-categories-tags-and-custom-taxonomies-to-media-attachments.html
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者,主业是淘宝店主,卖些工艺品,感兴趣可以到我的淘宝店看看(旺旺不提供技术咨询):西西弗sisyphe

39 条留言

点此留言
  1. 生活有意思

    博主终于更新了~

  2. 路易大叔

    连后台都不用的人无缘此功能

  3. 醉后的力量

    @路易大叔 那你弄网站做什么?!

  4. 红网问答

    一般媒体文件都另外放一个地方,备份方便点

  5. 似水流年

    我就看看,我不说话

  6. 烂番茄

    瞧瞧。学习来了哈!

  7. 李君南

    高大上啊!

  8. Ludou

    @李君南 很简单的功能,还谈不上高度上吧.

  9. haguo

    @Ludou hi,@露大大,我想问可以在添加新自定义文章类型(Post Type)时,也有显示多媒体类型的预览图吗?应该怎么办呢?

  10. 深蓝

    越来越觉得 wp 好强大。

  11. 有点蓝

    这样的话,在FTP媒体目录里也能生成对应分类和标签的文件夹吗?
    如果能的话真是太实用了。

  12. 露兜

    @有点蓝 没有文件夹。日期和分类标签都建目录,不好搞

  13. 有点蓝

    @露兜 邮件通知里竟然还有logo,还有广告…… 算你厉害~

  14. 露兜

    @有点蓝 充分利用有限的资源。

  15. 超級efly

    支持一下~長知識啦~~

  16. Magic

    我的博客里面图片比较多,我想把每篇文章页面弄成一个页面显示一张图片,请问怎么处理呢

  17. 露兜

    @Magic 后台 – 文章,编辑文章,保留一张图片

  18. QQ80805588

    register_taxonomy ( 'page_tags', 'page', $args ); 试试这个函数 可以为指定类型定制分类,这样就不会共享文章分类, 如产品分类,媒体分类

  19. 露兜

    @QQ80805588 不错的方法

  20. 小顾

    @QQ80805588 你好,请问这个代码,配合
    function ludou_add_categories_to_attachments() {
    register_taxonomy_for_object_type( 'category', 'attachment' );
    }
    add_action( 'init' , 'ludou_add_categories_to_attachments' );
    register_taxonomy ( 'page_tags', 'page', $args );
    怎么写到function.php里面呢?

  21. 二大爷

    前台怎么调用 显示呢

  22. highsea

    这个功能不错,路过……

  23. 购物生活好店品

    我想要实现,第二个自定义文章类型的分类,共享第一个自定义文章类型的分类,怎样操作呢

  24. 林生

    你好,你页面的锚点链接是怎么实现的,能告诉吗,谢谢

  25. 小顾

    请问代码是插入到 functions.php 哪个位置呢?求指教。

  26. 露兜

    @小顾 随便找个 <?php 在下面另起一行,粘贴即可。

  27. 小顾

    @露兜 站长,我昨晚修改了一下之后,就无法add new images to image gallery了,站长知道怎么解决这个问题吗?

  28. 露兜

    @小顾 不知道add new images to image gallery是哪里的提示

  29. 小顾

    @露兜 是woocommerce插件的product项目。

  30. 露兜

    @小顾 抱歉,对woocommerce不是很熟。另外,如果你用的是文中的代码,并且没做过任何更改的话,应该不会出现这样的问题。

  31. tt

    你好,请问一下如果我想对多媒体的标签进行搜索要怎么做。比如我将一张图tag标为红色,那我在搜索框里查红色怎么不出来?是不是要对search功能修改。

  32. 觉远

    你好!按你的方法添加了完成了,有分类和标签,但在所有文章里有快速编辑的按钮,在多媒体里却没有快速编辑的按钮,请问该怎么添加

  33. 露兜

    @觉远 媒体不支持快速编辑。

  34. 枫先生

    这个功能好,我喜欢

  35. zszz

    露兜你好,我用完这段代码后,的确可以对媒体库进行分类,并且可以显示出每个附件的固定链接。
    但是,我想在每个分类目录中,也能显示出这类附件的链接。以你的博客为例,如果要在“教程指南”(https://www.ludou.org/category/tutorials)这个分类里,也能显示出“被归为教程指南类”的附件的固定连接。这样应该怎么做呢?
    经过我的测试,如果不加修改只能显示出文章,而无法显示出附件页面。

  36. zszz

    (接上段)我似乎知道应该在archive.php里加一段代码,但是找不到如何附件页面相关的函数。求站长帮帮忙!!

  37. 花卉说

    meta分类不错,以后会用到。
    请问如何解决媒体库同一张图片被多次上传,这样就属于重复的垃圾。

  38. 露兜

    @花卉说 图片内容没法识别,即使可以消耗的资源也大。
    除非是同名文件。

  39. 7S分享网

    方法是很好的,现在4.9的系统不知道能否支持了,我先试试看了

发表留言