При вставке мультимедиа в сообщение, есть ли способ изменить вид по умолчанию библиотеки мультимедиа со «Все элементы мультимедиа» на «Загружен в этот пост»?
Есть еще одна тема, из которой был извлечен этот вопрос: Как управлять отношениями вложений
Ответы:
В моем предыдущем ответе были две незначительные ошибки:
change
событие для родителя.Вот фиксированный код:
источник
Add Media
кнопку, но не когда вы нажимаете кнопкуSet featured image
. Есть ли способ заставить его работать там?wp.media.view.UploaderWindow.prototype.on('ready',function() {console.log(jQuery('.media-modal-content'))...your code here...});
было бы более целесообразным.Единственная проблема с JS, описанным выше, заключается в том, что он переключает поле выбора для запуска изменения после загрузки страницы и после того, как она уже начала загружать ВСЕ МЕДИА-ПУНКТЫ. Для моего клиента на медленном T1 это заблокировало вещи, так как он загружал вместе ВСЕ ВРЕМЯ НОСИТЕЛЕЙ и элементы ЗАГРУЗКИ НА ЭТО ПОСТ.
Мне помогла великая Sewpafly, которая разработала плагин Post Thumbnail Editor . он поделился отличным фрагментом JS, который предотвращает загрузку ВСЕХ НОСИТЕЛЕЙ МЕДИА и заставляет его загружать только изображения, «ПОГРУЖЕННЫЕ В ЭТОТ ПОСТ» по умолчанию.
Код
Файл: myadmin.js
Файл: functions.php
Тот же код на GitHub: https://gist.github.com/fishnyc22/5593693
Я поместил это в файл JS и вызвал его в functions.php с admin_enqueue_scripts. См. GIST выше для PHP и JS.
Работает блестяще. Надеюсь, хорошие WordPress исправят это в следующем обновлении, но на данный момент Sewpafly имеет лучшее решение, которое я нашел. Еще раз спасибо, приятель.
Должен отметить, что я только что обнаружил, что по умолчанию программа просмотра использует изображения со СРЕДНИМ размером, которые я отключил (установил на 0,0), поскольку я не использовал и не предотвращал раздувание. Когда средний размер недоступен WordPress загружает изображение полного размера. С тех пор я дал в активном среднем размере.
источник
@ toscho Ах, я нашел ошибку в вашем коде. Пожалуйста, держись со мной. Чтобы повторить проблему, сделайте следующее:
1) Откройте черновик сообщения.
2) Нажмите на
Add Media
кнопку. Подождите, пока загрузится функция jQuery.3) Слева нажмите на
Set Featured Image
ссылку.4) Теперь закройте всплывающее окно «Медиа» и на странице редактирования поста нажмите на
Set featured image
ссылку в правой боковой панели.5) Вы увидите, что функция jQuery не будет работать.
Однако, если бы вы
Set featured image
сначала щелкнули ссылку при загрузке после редактирования, функция сработает. Можете ли вы повторить эту проблему и, возможно, найти решение? Извините еще раз за публикацию этого как ответ, но эта платформа не предлагает мне лучший вариант в настоящее время.РЕДАКТИРОВАТЬ: Может кто-нибудь, пожалуйста, дайте toscho знать об этом. Вы можете сделать это, добавив комментарий к его ответу, который, я считаю, должен дать ему уведомление. Я не могу писать комментарии, так как мне не хватает репутации ...
РЕДАКТИРОВАТЬ 2 : Если вы хотите отчаянно избежать этой проблемы, вы можете удалить ссылку «Установить рекомендуемое изображение» во всплывающем окне и заставить пользователя использовать ссылку на боковую панель (как версии WP до 3.5). Используйте этот фильтр, который был представлен в WP 3.5:
Как я уже сказал, это отчаянное исправление, пока не будет опубликовано решение для основного кода.
источник
Главное, что мне не понравилось в большинстве этих решений, это то, что они мигали на многих экранах, и если вы нажмете на Избранное изображение, оно вернется к отображению всех изображений. После некоторых поисков я думаю, что нашел постоянное решение (благодаря Юнсалу Коркмазу ), которое, похоже, решает эти проблемы. Код:
который постоянно устанавливает в медиатеке только «Загружен на этот пост», даже если вы пытаетесь изменить вид, что означает отсутствие мигания.
Я добавил этот код, чтобы сопровождать его, чтобы полностью удалить поле выбора:
источник
Новые версии WordPress используют другой подход (продвинутый Backbonejs ) для загрузки мультимедиа; Проверьте код из этого плагина, как он работает для новых версий WordPress.
источник
Это мои решения для установки
dateFilter
на текущий месяц, хотя он запускает AJAX дважды.источник