Intereting Posts
Как преобразовать базу данных MySQL из utf8mb4 в кодировку utf8? Роли, отличные от Super admin, доступ к manage_network_themes Перенаправление подписчиков на домашнюю страницу после обновления профиля Как отображать статическую HTML-страницу при настройке сайта WordPress? Переадресовать цикл в / wp-admin / Почему некоторые основные функции получают wp_, а другие – нет? Каково правило? «Поддержать этот плагин» для WordPress.org. Пользовательские возможности типа сообщения – включить редактирование, отключить создание и удаление Должен ли я использовать пользовательские таксономии или нет? Удалить крюк genesis_404 из genesis_loop Исключить имя категории, используя имя cat Добавление нескольких изображений на боковую панель страницы Правильное выполнение действий Существует ли какое-либо управление зависимостью темы? wp_reset_postdata () или wp_reset_query () после пользовательского цикла?

Как добавить пользовательские атрибуты в теги javascript в WordPress?

Я ищу, чтобы включить функцию RocketLoader CloudFlare, которая позволяет асинхронную загрузку Javascript для моего сайта WordPress. Проблема, однако, в том, что есть один плагин для того, что я хочу нормально загружать.

С технической точки зрения, согласно https://www.cloudflare.com/wiki/Rocket_Loader , мне просто нужно изменить любой тег скрипта, который я хочу игнорировать, чтобы иметь data-cfasync="false" следующим образом: <script data-cfasync="false" src="/javascript.js"></script>

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

Есть идеи?

Solutions Collecting From Web of "Как добавить пользовательские атрибуты в теги javascript в WordPress?"

Следующее решение предполагает, что ваши плагины используют wp_enqueue_script() для вставки скриптов в код HTML. Если они этого не делают, они разбиты по дизайну, и мы не можем изменить тег скрипта.

Этот код работает так же, как в этом ответе , на самом деле это почти дубликат …

Сначала создайте два списка всех URI-скриптов, которые вы хотите игнорировать или не игнорировать сценарием ракетного загрузчика. Затем заполнить массивы $optimize и $ignore в следующем скрипте с этими URI.

 function rocket_loader_attributes( $url ) { $optimize = array ( 'http://example.com/nr1.js', 'http://example.com/nr2.js' ); $ignore = array ( 'http://example.com/nr3.js', 'http://example.com/nr4.js' ); if ( in_array( $url, $optimize ) ) { // this will be optimized return "$url' data-cfasync='true"; } if ( in_array( $url, $ignore ) ) { // this will be ignored return "$url' data-cfasync='false"; } return $url; } add_filter( 'clean_url', 'rocket_loader_attributes', 11, 1 ); 

Вы можете создать плагин с этим кодом или – второй вариант – добавьте его в functions.php вашей темы.