Intereting Posts
Multisite, Subdomain, общий каталог NFS Linux HELP Программно создавать и размещать навигационное меню в тематическом месте? Использование add_sub_menu для размещения в разделе «Внешний вид» Загрузить настройки настроек загрузки при загрузке wp.media через javascript Как создать сложную структуру страницы Как хранить медиафайлы вне папки мультимедиа по умолчанию Пользовательский запрос для заказа несколькими таксономиями усекать сообщение с тегом галереи Как разрешить ошибку «Cookies заблокированы из-за неожиданного вывода».? Разделите тег запятой Проблемы с несколькими входами Функция WordPress: ограничение размера, только jpg, jpeg, ограничение загруженных файлов на аккаунт Polylang получает не текущий язык / s В какой версии WordPress был введен новый штрих-код галереи? Иерархические пользовательские сообщения – выделение текущего сообщения в подменю

Этот код работает, но прерывает загрузчик мультимедиа. Как мне интегрировать его таким образом, который не будет?

Я написал какой-то пользовательский код, который я застрял в панели загрузки мультимедиа, используя фильтр. Он делает пару вещей. Во-первых, он меняет текст кнопки «отправить» для пользователей, которые добавляют вещи через загрузчик. Во-вторых, он делает так, чтобы содержимое поля URL-адреса файла автоматически вводило вход для загрузки изображения для формы, которую я создал, когда изображение для нее загружается через загрузчик мультимедиа. (это JQuery). Наконец, есть CSS, чтобы скрыть элементы загрузчика мультимедиа, которые пользователям не нужно видеть.

Когда эта функция находится в файле functions.php, это приводит к тому, что медиа-библиотека останавливается при загрузке изображений. Он просто висит на вращающемся сером шаре. Но он также работает.

Как я могу интегрировать этот код в сайт так, чтобы он не заставлял загрузчик мультимедиа работать?

add_filter('attachment_fields_to_edit', 'my_plugin_action_button', 20, 2); function my_plugin_action_button($form_fields, $post) { $send = "<input type='submit' class='button' name='send[$post->ID]' value='" . esc_attr__( 'Use Photo' ) . "' />"; $form_fields['buttons'] = array('tr' => "\t\t<tr class='submit'><td></td><td class='savesend'>$send</td></tr>\n"); ?> <script> jQuery('.savesend input[type=submit]').click(function(){ var url = jQuery(this).parents('.describe').find('.urlfile').data('link-url'); var field = jQuery(this).parents('.describe').find('.urlfield'); field.val(url); }); </script> <style> #media-head-125, #imgedit-response-125, .savebutton.ml-submit, .image-size, .align, .post_content, .post_excerpt, .image_alt, .post_title.form-required, .media-types.media-types-required-info, .url { display: none !important; } </style> <?php return $form_fields; } 

Solutions Collecting From Web of "Этот код работает, но прерывает загрузчик мультимедиа. Как мне интегрировать его таким образом, который не будет?"

Проверьте, имеют ли элементы медиа html предыдущие classes , возможно, вы удалили какой-либо класс из окна мультимедиа (кнопка, я думаю), и некоторые js functions не могут быть вызваны, как hide() .

Я думаю, вам нужно изменить только два места (см. Стрелки):

 .... $form_fields['buttons'] = array('tr' => "\t\t<tr class='submit'><td></td><td class='savesend mySender123'>$send</td></tr>\n"); ?> ⇧⇧⇧ <script> jQuery('.mySender123 input[type=submit]').click.................. ⇧⇧⇧ ......