WordPressのメディアをカテゴリー分けするプラグイン

WordPressのメディアに入れた、画像などのデータをカテゴリー分けして、検索できるようにするプラグイン。

WordPressは、デフォルトではメディアにたまった画像などは累々と貯まるようになっていて、メディアの一覧から目的の画像を探し出すのは意外と面倒です。

たとえば、フォトコンテストなんかで募集した写真を掲載するときに、記事中に使っている画像とごっちゃになると、あとから確認する際なんかに探し出すのが大変なので、カテゴリ分けしておきたいな。という場合には、さくっとプラグインで対応できます。

メディアをカテゴリ分けするプラグインにも、いくつかあるので、まとめ。

Media Library Categories

紹介する3つの中ではダントツでシンプルなプラグイン。とりあえず、カテゴリー分けできたらなんでもいい。という場合はこれかな。

投稿で使うカテゴリーとおなじタクソノミー、つまりWordPress標準のカテゴリーで分類します。

特に設定はなく、プラグインをインストールしたら、メディアに「カテゴリ」の項目が出てきて、一覧から絞込もできます。カテゴリーの設定は、メディアの編集画面で設定します。

Enhanced Media Library

投稿でつかうカテゴリーと、Media Categoriesというカスタムタクソノミーが追加されます。

プラグインをインストールした時点では、絞込ができるのはMedia Categories の方だけです。

じゃ、なんのためのカテゴリー?とも思いますが、設定→メディア→Media Taxonomies→Non-Media Taxonomiesで、Filter for List View、Filter for Grid View / Media Popupにチェックをつけると、カテゴリーでも、絞込、検索ができるようになります。

あと、項目を日本語表示にしたければ、設定→メディア→Media Taxonomies→Media Taxonomies で日本語表記の設定をしてあげればOKです。

 

また、[+ Add New Taxonomy]で、独自にカスタムタクソノミーを追加することもできます。

それから、設定→メディア→Media Taxonomies→Media Library→Media Shortcodeで、Enhanced media shortcodes にチェックをつけると、ギャラリーを出力できるようになりますが、Warningで「他のプラグインとかと一緒に使うときは気をつけてね。問題があったら、作者に連絡してね!」なんて言ってるので、おまけ程度に考えておいたほうが良さそうです。

Media Library Assistant

カテゴリーと、タグがつけられるようになります。

Media Library Assistantでは、カテゴリも、タグも、カスタムタクソノミーになっているので、投稿でつかっているカテゴリとタグとは別ものになってます。なので、このプラグインをインストールした時点では、カテゴリーもタグもありません。

検索は、カテゴリやタグで絞込、検索ができるほか、タイトルやキャプションから文字列での検索もできるようになっています。

また、独自の管理機能がついていて、それを使えばクイック編集も出来るようになります。かなり多機能なのですが、英語表記なので、エンドユーザーに使ってもらうにはちょっと難がありますね。

他にも、設定項目が大量にあって、ショートコードでギャラリーを出力したり、カスタムフィールドを追加したりとできるようです。(あまり詳しく見ていないので、なんとなく)

テンプレート中にコードで出力する場合

WP_Queryでカテゴリ分けした一覧を取得するには、次のようにします。

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$terms = get_terms( 'tenant-category', '' );
$the_query = new WP_Query( 
	array(
		'post_status' => 'any',
		'post_type' => 'attachment' ,
		'post_mime_type' => 'image' ,
		'posts_per_page' => 12 ,
		'nopaging' => false, 
		'paged' => $paged,
		'tax_query' => array(
			array(
				'taxonomy' => 'category',
				'field'	   => 'slug',
				'terms'	   => 'contest',
			)
			)	
		)
	);

if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); 
	
	the_attachment_link( $the_query->post->ID ); //メディアをリンク付きで出力する

endwhile;
else: 
endif;
wp_reset_query();

メディアの出力方法については、こちら「WordPressでメディアのURLを取得するも参照してください。

 

 

nakaike