Содержание
Пример ошибки
После обновления WordPress и перехода PHP на более высокую версию – PHP 7.4, на некоторых страницах сайта, где использовался плагин подсветки синтаксиса Crayon Syntax Highlighter, появилась фатальная ошибка:
Не знаю есть ли смысл что-то делать с этой ошибкой, т.к. сам плагин Crayon Syntax Highlighter давно не обновлялся и, скорее всего, ошибка связана с заменой последней версии PHP.
Как исправить ошибку Fatal error из-за Crayon Syntax Highlighter
Есть три способа решения проблемы: 1 – Использовать другие плагины подсветки синтаксиса (например: Enlighter — Customizable Syntax Highlighter или Code Syntax Block); 2 – сделать изменения в файлах плагина; 3 – скачать обновленный Crayon Syntax Highlighter с Github.
Замена кода
1. Чтобы исправить это, нужно внести изменения в файл плагина Crayon Syntax Highlighter – crayon_langs.class.php:
1 2 3 4 5 6 7 8 9 10 11 |
// В строке, примерно 340, заменить return preg_replace('/[^\w-+#]/msi', '', $id); // на return preg_replace('/[^\w\-+#]/msi', '', $id); |
2. В файле плагина crayon_formatter.class.php
удалить строки (118 и 119):
1 2 3 4 5 6 |
$toolbar_height = $font_size * 1.5 . 'px !important;'; $info_height = $font_size * 1.4 . 'px !important;'; |
вставить (заменить на)
1 2 3 4 5 6 7 |
$crunchify_height = 1.5; $toolbar_height = $_font_size * $crunchify_height . 'px !important;'; $info_height = $_font_size * $crunchify_height . 'px !important;'; |
Скачать обновления Crayon Syntax Highlighter
Также, можно скачать обновленный плагин Crayon Syntax Highlighter с самого Github >> github.com/Crunchify/crayon-syntax-highlighter/releases.