WordPressのMedia Library Organizerでダイアログ初回表示時のカテゴリを指定する方法
Media Library Organizerを使用中のWPサイトで画像をカテゴリ分けしているが、画像選択のダイアログ初回表示時にカテゴリは「All Media Categories」が選択されている筈。これを指定したカテゴリの画像を表示するように変更したい。以下に対応方法をメモ。
目次
対応方法
カテゴリ用ID
ダッシュボードの「メディア->Media Categories」に進むと作成済みのカテゴリが一覧表示されている筈なので、指定するためのカテゴリのリンクから「tag_ID=xxx」のパラメータをメモっておく。この「xxx」がカテゴリ用IDになる。
functions.php
functions.phpに以下を追記する。
// 投稿編集画面のメディアライブラリ用モーダルが表示される際に指定したカテゴリを表示
function mlo_default_select_media_category( $query ){
// カテゴリID(適宜変更)
$media_category_id = xxx;
// 管理画面内かつAjax通信を使う場合のみ以外は終了
if( !is_admin() || !defined('DOING_AJAX') || !DOING_AJAX ){
return $query;
}
// メディアデータ取得の場合
if( isset( $_POST['action'] ) && $_POST['action'] === 'query-attachments' ){
// ユーザーがカテゴリを変更した際のフラグ
$change_flg = false;
// メディアの検索用配列がある場合
if( isset($_POST['query']) && is_array($_POST['query']) ){
// mlo経由の場合(カテゴリを選択しなおした場合)はフラグを書き換え
if( array_key_exists('mlo-category', $_POST['query']) || array_key_exists('media_folder', $_POST['query']) ){
$change_flg = true;
}
}
// フラグが書き換わっていない(初回表示時)の場合
if( !$change_flg ){
// メディアの検索用配列を新規作成
if ( empty( $query['tax_query'] ) ) {
$query['tax_query'] = array();
}
// 検索用配列でカテゴリIDを指定
$query['tax_query'][] = array(
'taxonomy' => 'mlo-category',
'field' => 'term_id',
'terms' => $media_category_id,
'operator' => 'IN',
);
}
}
// 検索条件を返す
return $query;
}
// 投稿編集画面のメディアライブラリ用モーダルが表示される際にイベントを設定
add_filter('ajax_query_attachments_args', 'mlo_default_select_media_category');
Media Library Organizer
https://ja.wordpress.org/plugins/media-library-organizer/
リファレンス
ajax_query_attachments_args
https://developer.wordpress.org/reference/hooks/ajax_query_attachments_args/
関連記事
-
-
FLASHから受信した画像をPHPで保存し、サムネイルも作る
■参考サイト ・FLASH http://www.ilovex.co.jp/bl ...
-
-
jQueryで画像を遅延ロードする「jquery.lazyload.js」の利用方法
画像を遅延ロードさせたい時にはjQueryプラグインのlazyloadが便利。以 ...
-
-
CKEditor5(WYSIWYGエディタ)に画像アップロード機能を追加する方法
CKEditor5(ウィジウィグエディタ)に画像アップロード機能を追加したい。公 ...
-
-
imgタグのsrc属性のURLにPHPでタイムスタンプを付与しキャッシュ対策する方法
imgタグで画像を表示する際、画像を書き換えても同じものが表示されるというケース ...
-
-
summernoteにギャラリーから画像を挿入する機能を追加する方法
summernoteの画像機能はデフォルトだと「画像ファイルを選ぶ」「URLから ...