WordPress

メディアの WP Media Category Management カテゴリーを取得する

WordPressのメディアをカテゴリー分けできるプラグインWP Media Category Managementを使って各メディアに設定したカテゴリーを取得する覚え書きです。

WP Media Category Management — WordPress プラグイン

WP Media Category Managementをインストールして有効化すると、各メディアにMCM Categoriesの項目が追加され、カテゴリー分けができるようになります。メディアライブラリでカテゴリーごとに表示させることが出来たりして管理が楽になりますよ、というプラグインです。

各メディアに設定したカテゴリーをページで使用する場合は、タクソノミー「category_media」を指定してタームを取得します。例ではwp_get_object_terms()でタームのオブジェクトを取得していますが、第三引数(オプション)によるソートなどは指定していません。

// 画像のMCMカテゴリー
$mcm_category = wp_get_object_terms(画像のID, 'category_media');

if ( !empty( $mcm_category ) && !is_wp_error( $mcm_category ) ) {
  echo '<ul>';
  foreach( $mcm_category as $term ) {
    echo '<li>' . esc_html( $term->name ) . '</li>';
  }
  echo '</ul>';
}

関数リファレンス_wp get object terms - WordPress Codex 日本語版

WP Media Category Managementでは、category_mediaによるカテゴリー分けの他に、記事などと同じ通常のカテゴリーも使用できるようになります。メニューからWP MCM › MCM Settingsへ移動して、Use Post Taxonomyの項目にチェックを入れると有効になります。

通常のカテゴリーを使用した場合は、タクソノミー「category」を指定して取得します。

// 画像のカテゴリー
$category = wp_get_object_terms(画像のID, 'category');

ちなみにこのWP Media Category Management、わざわざ「管理がいくらか楽になりますよ」と書いたのは、カテゴリー分けによってURLを変更(フォルダ分け)したりまではできないためです。個人的にはフォルダ分けできた方が便利だと思うので、その場合はまた別のプラグインを使うようにしています。

メディアをフォルダ分けできるプラグイン
Media File Manager — WordPress プラグイン

設定

WP Media Category Managementの設定画面が翻訳されていなかったのでこちらも覚え書きしておきます。

Toggle Assign チェックすると、メディアの一覧(リスト表示)からカテゴリーの切り換え(Toggle)ができるようになる。
Media Taxonomy To Use カテゴリー分けに使用するタクソノミーを選択。デフォルトはMCM Categories
MCM Category base タクソノミーのページのURL。このタクソノミーのページを使用しなければそのままでOK。
Name for Custom MCM Taxonomy タクソノミーの表示名(複数形)だと思いますが、当方ではページにもメニューにも反映されません。まぁどうでもいいので空でいいと思います。
Custom Singular Name タクソノミーの表示名(単数形)。上の項目と同じでこちらでは反映されません。
Use Default Category メディアのアップロード時にデフォルトのカテゴリーを適用するかどうか。
Default Media Category メディアのアップロード時のデフォルトのカテゴリー。初期設定ではカテゴリーなし。
Use Post Taxonomy チェックすると、投稿と同じカテゴリーがメディアで使用できる。
Search Media Library ユーザーエンドの検索で、メディアライブラリのタイトルを検索するかどうか。カテゴリー名は関係ないみたい。