Intereting Posts
Являются ли term_taxonomy_id и term_id одинаковыми? Почему пользователи по умолчанию используют «admin»? Измените свойства настраиваемого типа сообщения после его регистрации? Как изменить цвет зарегистрированных областей виджета в админ? Список только дочерних категорий, в которых находится сообщение, определенной родительской категории в wordpress Bridge WordPress Media API с настраиваемым плагином tinyMCE Были ли улучшения в управлении меню wp? the_author_meta не работает Настройка POST плагина WordPress Отображать пользовательский тип сообщения из шаблона Как удалить пользовательский фон? Пользовательская проблема с заданной пометкой типа Могу ли я иметь термины с одинаковым слизью в одной таксономии? Процедурный вопрос о подключении плагина Существует ли шаблон-тег / функция для получения URL-адреса (или пула или имени или идентификатора) страницы блога при использовании «статической» первой страницы

Игнорировать фильтр в медиатеке

Вчера , по моему вопросу , мне нужно исключить все изображения из большинства моих запросов WordPress – вчера я подумал, что мне нужно исключить их из всех запросов, пока не наткнулся на следующую проблему.

Исключение изображений с использованием следующего фильтра также исключает их из медиа-библиотеки, включая диалог вставки носителя.

function remove_images($where) { global $wpdb; $where.=' AND '.$wpdb->posts.'.post_mime_type NOT LIKE \'image/%\''; return $where; } 

Я все еще хочу видеть изображения в медиа-библиотеке и вставлять медиа-диалог.

Обычно я мог бы просто добавить предложение if (!is_admin()) , поскольку медиа-библиотеку обычно можно увидеть в разделе администратора.

Тем не менее , у меня также есть wp_editor в интерфейсе, чтобы мои пользователи могли быстро добавлять сообщения – и вы также можете получить доступ к медиа-библиотеке.

Есть ли какой-либо крючок или условие, которое я могу использовать, чтобы фильтр не включался при запросе медиа-библиотеки?

Вы можете использовать is_admin() в сочетании с глобальной переменной admin $pagenow чтобы убедиться, что вы не находитесь ни на странице загрузки, ни на медийной странице:

 function remove_images( $where ) { global $wpdb, $pagenow; if( is_admin() && in_array( $pagenow, array( 'upload.php', 'media-upload.php' ) ) { return $where } $where .= " AND {$wpdb->posts}.post_mime_type NOT LIKE 'image/%'"; return $where; }