Как установить 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 и другие)
add_action( 'wp_print_footer_scripts', 'action_function_name_7772' ); function action_function_name_7772(){ // action... }Все что ниже удалил, ошибки нет и скрипт подключается, но изображения по прежнему выводятся как обычные изображения, (png, jpg...) они вроде должны выводится (.webp) или я чего-то не понимаю?
И как понять что скрипт сработал??