Как установить WebP на WordPress, есть не рабочий код для functions.php
Подскажите пожалуйста. как установить WebP на WordPress 4.8.2
Нашел в сети следующий пост ссылка
В статье говорится, что достаточно добавить в functions.php функцию и все заработает.
Вот что нужно добавить в functions.php:
add_filter('upload_mimes','webp_mime_type'); function webp_mime_type($mimes){ return array_merge($mimes,array ( 'webp' => 'image/webp' )); } function webp_script() { // Loads JavaScript file for webp image support in all browsers wp_enqueue_script( 'webpjs-script', get_template_directory_uri() . '/js/webpjs-0.0.2.min.js'); } add_action( 'wp_enqueue_scripts', 'webp_script' ); window.testWebP = function(callback) { var webP = new Image(); webP.onload = webP.onerror = function () { callback(webP.height == 2); }; webP.src = 'data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA'; }; window.testWebP(function(support) { if(!support){ $('img[src$=".webp"]').each(function(index,element) { element.src = element.src.replace('.webp','.png'); }); } });
Но на выходе сайт не загружается..
Статья написана в 2015 году, и наверное код уже устарел, посмотрите пожалуйста, уж очень хочется установить webp...
В Вашем случае встраиваемый код (всё, что ниже строчки add_action( 'wp_enqueue_scripts', 'webp_script' );) уже подключен через wp_enqueue_script и он просто не нужен. Удалите JavaScript и удостоверьтесь, что ссылка на подключаемый файл появилась на странице.
А так, WP выводит дополнительные скрипты на страницу через добавление событий к хукам печати скриптов (wp_print_footer_scripts, admin_print_footer_scripts и другие)
Все что ниже удалил, ошибки нет и скрипт подключается, но изображения по прежнему выводятся как обычные изображения, (png, jpg...) они вроде должны выводится (.webp) или я чего-то не понимаю?
И как понять что скрипт сработал??