Intereting Posts
Категории не работают – 404 Не найдена ошибка разные темы на одном веб-сайте Как установить тему WordPress и настроить ее? Возможно ли заблокировать пользователей подписчиков на смену пароля? Вызовите веб-службы на пост сначала опубликовать Навигация с вкладками для параметров плагина с использованием одной и той же строки в базе данных для всех? Откройте односпальную почту WordPress в лайтбокс без заголовка и нижнего колонтитула Как разрешить пользователям просматривать ожидающие сообщения определенного типа сообщений? Показать идентификаторы отображаемых элементов медиабиблиотеки Список всех сообщений в пользовательском типе сообщений с разбивкой на страницы (правильный путь) В поисках двух категорий, где WordPress сохраняет заголовок 2-й категории? Как добавить новую страницу в тему WordPress через кодирование? Полностью отключить редактор Постоянная структура между двумя пользовательскими типами сообщений и таксономией Поле формы автогенерации с использованием jQuery

Удаление вкладок из медиа-загрузчика для CPT

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

Теперь я хочу удалить вкладки «От URL» и «Библиотека» только при использовании загрузчика на странице редактирования / новой страницы для CPT или, если возможно, с вызовом события click.

Я не знаю, как решить.

PS: Я использую этот js для вызова толстого ящика и пытаюсь удалить вкладку через jQuery:

jQuery(document).ready(function() { jQuery('#pc_extContent_button').click(function() { formfield = jQuery('#pc_extContent').attr('name'); tbframe_interval = setInterval(function() { jQuery('#tab-type_url').hide(); }, 2000); tb_show('', 'media-upload.php?type=file&TB_iframe=true') return false; }); 

Solutions Collecting From Web of "Удаление вкладок из медиа-загрузчика для CPT"

Вы можете использовать media_upload_tabs filter для своего типа сообщения и отключить любую вкладку, которую вы не хотите использовать ex:

 function remove_media_library_tab($tabs) { if (isset($_REQUEST['post_id'])) { $post_type = get_post_type($_REQUEST['post_id']); if ('premium' == $post_type) unset($tabs['library']); unset($tabs['type_url']); } return $tabs; } add_filter('media_upload_tabs', 'remove_media_library_tab'); не function remove_media_library_tab($tabs) { if (isset($_REQUEST['post_id'])) { $post_type = get_post_type($_REQUEST['post_id']); if ('premium' == $post_type) unset($tabs['library']); unset($tabs['type_url']); } return $tabs; } add_filter('media_upload_tabs', 'remove_media_library_tab'); не function remove_media_library_tab($tabs) { if (isset($_REQUEST['post_id'])) { $post_type = get_post_type($_REQUEST['post_id']); if ('premium' == $post_type) unset($tabs['library']); unset($tabs['type_url']); } return $tabs; } add_filter('media_upload_tabs', 'remove_media_library_tab'); 

Во-первых, необходимо изменить JavaScript для включения post_id в запрос:

 jQuery(document).ready(function() { jQuery('#pc_extContent_button').click(function() { var pID = jQuery('#post_ID').val(); formfield = jQuery('#pc_extContent').attr('name'); tb_show('premiumTB', 'media-upload.php?post_id='+ pID +'&type=image&TB_iframe=true'); return false; }); window.send_to_editor = function(html) { imgurl = jQuery('img', html).attr('href'); jQuery('#pc_extContent').val(imgurl); tb_remove(); } }); 

Тогда решение Bainternet можно использовать в functions.php (или аналогичном)

 function remove_media_library_tab($tabs) { if (isset($_REQUEST['post_id'])) { $post_type = get_post_type($_REQUEST['post_id']); if ('premium' == $post_type) { unset($tabs['library']); unset($tabs['type_url']); } } return $tabs; } add_filter('media_upload_tabs', 'remove_media_library_tab'); не function remove_media_library_tab($tabs) { if (isset($_REQUEST['post_id'])) { $post_type = get_post_type($_REQUEST['post_id']); if ('premium' == $post_type) { unset($tabs['library']); unset($tabs['type_url']); } } return $tabs; } add_filter('media_upload_tabs', 'remove_media_library_tab'); не function remove_media_library_tab($tabs) { if (isset($_REQUEST['post_id'])) { $post_type = get_post_type($_REQUEST['post_id']); if ('premium' == $post_type) { unset($tabs['library']); unset($tabs['type_url']); } } return $tabs; } add_filter('media_upload_tabs', 'remove_media_library_tab'); 

Таким образом, все работает отлично, и вкладки удаляются.