• Как вставить через медиа в wordpress webp?

    @a_stepanov29
    Javascript, Wordpress
    Нашел в чем проблема.
    Самостоятельно настраивал сервер для wordpress + nginx
    Тоже выдавало такую же ошибку
    Проблема была в отсутствии библиотек для работы с webp
    php-imagick и php-gd

    Чтобы проверить установлены ли данные либы и поддерживается ли загрузка webp можно сделать следующее:
    1. добавить следующий код в functions.php
    2. открыть библиотеку медиа
    3. посмотреть что выведет уведомление

    Код:
    add_action('admin_notices', function () {
      $gd_support = false;
      $imagick_support = false;
    
      if (extension_loaded('gd')) {
        $gd_info = gd_info();
        $gd_support = $gd_info['WebP Support'] ?? false;
      }
    
      if (class_exists('Imagick')) {
        $imagick = new Imagick();
        $formats = $imagick->queryFormats('WEBP');
        $imagick_support = in_array('WEBP', $formats);
      }
    
      if ($gd_support || $imagick_support) {
        echo '<div class="notice notice-success is-dismissible"><p>WebP is supported on this server.</p></div>';
      } else {
        echo '<div class="notice notice-error"><p>WebP is not supported on this server.</p></div>';
      }
    });


    4. Если выведет что не поддерживается то установить библиотеки
    sudo apt-get update
    sudo apt-get install php-gd
    sudo apt-get install php-imagick
    Ответ написан
    Комментировать