Загрузка SVG не работает

Вопрос или проблема

Я создал SVG с кликабельными областями, чтобы использовать его в качестве изображения для целевой страницы. Размер файла составляет 4 МБ. Я не могу его загрузить, WordPress говорит, что произошла ошибка (без конкретики). Похоже, что размер не является проблемой, другие файлы такого размера загружаются.

У меня установлен плагин SVG Support.

Я использовал Inkscape для его создания. Он выглядит нормально в Edge и делает то, что должен. Я попробовал все доступные форматы SVG в Inkscape, но все они не работают.

Я не использую Media Library Assistant.

С чего мне начать, чтобы понять, в чем проблема?

Может ли быть проблема в теме, которую я использую (Thefour)?

Простите, если это действительно тривиально – я совсем новичок в этом.

WordPress по умолчанию не разрешает загрузку SVG файлов.

Добавьте тип файла svg в список разрешенных типов файлов

function wp_mime_types($mimes)
{
    $mimes['svg'] = 'image/svg+xml';
    return $mimes;
}
add_filter('upload_mimes', 'wp_mime_types');

Исправление для отображения svg файлов в медиатеке

function wp_fix_svg() {
    echo '<style type="text/css">
        .attachment-266x266, .thumbnail img {
         width: 100% !important;
         height: auto !important;
        }
        </style>';
}
add_action( 'admin_head', 'wp_fix_svg' );

Попытка определить реальный тип файла

function wp_check_filetype($data, $file, $filename, $mimes) 
{
    global $wp_version;
    if( $wp_version !== '4.7.1' ){
        return $data;
    }

    $filetype = wp_check_filetype( $filename, $mimes );

    return [
        'ext'             => $filetype['ext'],
        'type'            => $filetype['type'],
        'proper_filename' => $data['proper_filename']
    ];
}
add_filter( 'wp_check_filetype_and_ext', 'wp_check_filetype', 10, 4 );

Ответ или решение

Устранение проблемы загрузки SVG в WordPress

Загрузка файлов SVG в WordPress может вызывать трудности по нескольким причинам, особенно если вы новичок в этой области. Давайте рассмотрим основные шаги, которые помогут вам разобраться в проблеме загрузки SVG-файла с учетом предоставленной информации.

1. Проверка настроек загрузки файлов

По умолчанию WordPress не поддерживает загрузку SVG-файлов из соображений безопасности. Однако вы уже указали, что используете плагин SVG Support. Убедитесь, что настройки этого плагина активированы и совместимы с вашей версией WordPress:

  • Зайдите в настройки плагина и проверьте, разрешена ли загрузка SVG.
  • Возможно, включение дополнительных параметров безопасности плагина также повлияет на возможность загрузки.

Если плагин установлен, но проблема сохраняется, добавьте MIME-тип для SVG в файл functions.php вашей темы:

function wp_mime_types($mimes) {
    $mimes['svg'] = 'image/svg+xml';
    return $mimes;
}
add_filter('upload_mimes', 'wp_mime_types');

Этот код добавит поддержку загрузки SVG в ваш сайт.

2. Проверка совместимости с темой

Хотя маловероятно, что тема Thefour непосредственно блокирует загрузку SVG, конфликты между темой и плагинами все же могут возникать. Попробуйте временно переключиться на стандартную тему, например Twenty Twenty-One, и проверьте, сможете ли вы загрузить файл. Если проблема исчезнет, вероятно, дело в конфликтах между вашей темой и плагином.

3. Устранение потенциальных ошибок в SVG

Проблема может заключаться не только в WordPress, но и в самом SVG-файле. Вот несколько важных моментов, которые стоит проверить:

  • Структура SVG: Убедитесь, что файл корректно написан и не содержит ошибок. Используйте валидаторы SVG, чтобы проверить правильность кода.
  • Размер файла: Хотя вы упомянули, что размер не является проблемой, для загрузки больших файла все равно рекомендуется обрезать или оптимизировать SVG. Существуют специальные инструменты для оптимизации SVG, такие как SVGO.
  • Пробелы и специальные символы: Возможно, в имени файла или его структуре есть пробелы или специальные символы, которые мешают корректной загрузке.

4. Журнал ошибок и режим отладки

Включение режима отладки в WordPress может помочь выявить конкретные ошибки. Для этого в файле wp-config.php добавьте следующие строки:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Проверьте файл журнала ошибок debug.log, который будет находиться в папке wp-content. Это даст вам представление о том, что именно идет не так во время загрузки.

5. Ограничения со стороны сервера

Некоторые серверные конфигурации могут ограничивать доступные типы файлов для загрузки. Обратитесь к своему хостинг-провайдеру и уточните, существуют ли какие-либо ограничения на MIME-типы или большие файлы.

Заключение

Проблема с загрузкой SVG-файлов в WordPress может быть обусловлена различными факторами, связанными с настройками платформы, конфигурацией темы или самими SVG-файлами. Следуя вышеперечисленным рекомендациям, вы сможете диагностировать и, надеюсь, решить описанную проблему. Если вам потребуется дальнейшая помощь, не стесняйтесь задавать вопросы в специализированных форумах или обратиться к профессионалу.

Оцените материал
Добавить комментарий

Капча загружается...