Intereting Posts
Получить URL-адрес изображения из медиа-библиотеки во входном Как воссоздать почтовую форму на пользовательской странице PHP. Домашняя страница Pagination – Другие страницы не перенаправляются на шаблон главной страницы Несколько мета-значений для того же добавления мета-ключа в «Preview Changes», но не для сохранения или обновления сообщения Сравнить текущую должность Категория в меню выбора Добавление настраиваемого поля в редактор изображений Как заставить категорию под-продукта использовать шаблон родительской категории Как изменить пользовательский порядок сообщений ASC / DESC menu_order разумно динамически? Изменение постоянной ссылки WordPress Получать сообщения из нескольких налоговых условий Как добавить существующие категории в сообщение с помощью wp_insert_post Заказ сообщений по дате пользовательского поля Чрезмерная память, используемая update_option () Пример Add_Filter для wp_get_attachment_link Как предоставить новым пользователям две специфические параметры роли пользователя при регистрации пользователя WordPress

Как добавить пользовательские атрибуты в теги 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 вашей темы.