WordPress中給媒體文件添加分類和標簽的PHP功能實現(xiàn)
從WordPress后臺媒體庫上傳的媒體文件,不像文章那樣可以給它指定分類和標簽,但是很多時候我們又需要這樣的功能,如一些下載站、圖片站等。
媒體編輯頁面的原始狀態(tài)

很明顯,在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' );
另一種方法
其實還有一種方法實現(xiàn),并且可以實現(xiàn)給多媒體添加獨立的分類,而不必混用文章的分類,而且在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,可以實現(xiàn)批量修改媒體文件的分類。
相關文章
PHP排序算法之直接插入排序(Straight Insertion Sort)實例分析
這篇文章主要介紹了PHP排序算法之直接插入排序(Straight Insertion Sort),結合實例形式較為詳細的分析了直接插入排序算法的原理與實現(xiàn)技巧,需要的朋友可以參考下2018-04-04
PHP通過session id 實現(xiàn)session共享和登錄驗證的代碼
PHP通過session id 實現(xiàn)session共享和登錄驗證的代碼,需要的朋友可以參考下2012-06-06
PHP+jquery實時顯示網(wǎng)站在線人數(shù)的方法
這篇文章主要介紹了PHP+jquery實時顯示網(wǎng)站在線人數(shù)的方法,較為詳細的分析了實時顯示在線人數(shù)的原理與代碼實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-01-01
PHP數(shù)據(jù)庫操作之基于Mysqli的數(shù)據(jù)庫操作類庫
Mysqli 是什么,我這里也不進行描述了。因為網(wǎng)上關于 Mysqli 的教程數(shù)不勝數(shù),我這里為大家介紹一款基于 Mysqli 的操作數(shù)據(jù)庫類(M.class.php)2014-04-04
『PHP』PHP截斷函數(shù)mb_substr()使用介紹
截斷文章標題,控制在15個文字,接下來為大家講解下如何實現(xiàn)這個需求,感興趣的朋友可以參考下哈2013-04-04
PHP+Swoole實現(xiàn)web版的shell客戶端詳解
這篇文章主要為大家詳細介紹了如何利用PHP+Swoole實現(xiàn)web版的shell客戶端,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下2022-07-07

