Intereting Posts
wp_kses игнорировать разрешено и разрешать все простое перенаправление формы wordpress Как отображать данные в WordPress? Сохранить в медиа-библиотеке изображение, загруженное с url Изменить Постоянная ссылка только на новые сообщения Рекомендуемые инструменты для разработки темы с помощью SASS Почтовый запрос – показывать сообщения с указанного дня и месяца и целых лет Как включить третий уровень с функцией wp_get_nav_menu_items Где появилась возможность редактировать плагин? Как отключить или исключить кеширование для wp-cron.php * в управляемом wordpress? Как получить HTTP POST в WP? Как категории товаров заказа – на странице родительской категории – в Woocommerce? Меню Bootstrap Nav не будет переключаться, если размер мобильного просмотра BP Результаты поиска не будут отображаться на странице профиля пользователя Пользовательские поля подергиваются / дрожат на странице администратора

Установите флажок «Ссылка на целевую ссылку» на экране «Редактировать изображение» в окне «Редактор сообщений администратора»?

Внутри более новых версий WordPress в визуальном редакторе при добавлении фотографии вы можете щелкнуть по ней, в которой Resize кнопки « Edit , « Delete и « Resize .

введите описание изображения здесь

Теперь, если вы нажмете кнопку «Изменить», показанную на изображении выше. Он вставляет окно Modal в DOM, у которого больше настроек для изображения, например, изображение ниже …

введите описание изображения здесь

На изображении вы можете увидеть раздел « Advanced Options котором есть open link in new window/tab Установить флажок» open link in new window/tab

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

Первоначально я думал, что могу просто проверить его с помощью JavaScript / jQuery с чем-то вроде этого …

 jQuery(document).ready( function () { jQuery(".link-target input[type='checkbox']").prop({ checked: true }); }); 

Однако это не работает и, вероятно, потому, что кажется, что Modal добавлен в DOM после того, как вы нажмете кнопку, чтобы отредактировать изображение.

Я надеюсь, кто-то может помочь мне придумать решение этого, может быть?

Ну … WordPress использует плагин wpeditimage tinymce для выполнения задач для кнопки «Добавить медиа».

Когда вы нажимаете значок карандаша для редактирования изображения … плагин wpeditimage будет считывать код изображения и определять, есть ли значение _blank для target атрибута.

Если значение _blank ; плагин будет проверять флажок при открытии модального окна. Если нет, поле не будет отмечено.

Вы можете увидеть этот код в действии в wp-includes/js/tinymce/plugins/wpeditimage/plugin.js , в строке 217:

 metadata.linkTargetBlank = dom.getAttrib( link, 'target' ) === '_blank' ? true : false; 

Итак … для проверки по умолчанию … каждый раз, когда изображение вставляется в редактор, ему также необходимо иметь следующий атрибут и значение; target="_blank" .

Теперь … единственный способ установить флажок для проверки … должен уже иметь значение target="_blank" на ссылке <a> обертывая изображение при вставке в редактор. Для этого; мы будем использовать фильтр image_send_to_editor .

 add_filter('image_send_to_editor', 'my_add_target_blank', 10, 8); function my_add_target_blank($html, $id, $caption, $title, $align, $url, $size, $alt = '' ){ // check if there is already a target value if ( preg_match('/<a.*? target=".*?">/', $html) ) { $html = preg_replace('/(<a.*? target=".*?)(".*?>)/', '$1 ' . '_blank' . '$2', $html); } else { $html = preg_replace('/(<a.*?)>/', '$1 target="' . '_blank' . '" >', $html); } return $html; } 

Это должно позаботиться о добавлении атрибута target="_blank" в тег <a> обертывающий вставленное изображение.

Теперь, если вы нажмете, чтобы отредактировать изображение (сразу после вставки) … вы заметите, что опция «Открыть ссылку в новой вкладке / окне» теперь отмечена.

Счастливое кодирование!