Содержание
Размер плагина превышает максимальный разрешенный для загрузки
Не открывается одна из страниц настроек плагина
Установлен плагин Lockdown WP Admin
Не подключаются стили и шрифты
Нет вкладки Setka Editor на странице создания новой записи
Редактор не запускается. Ошибка "Mixed Content" в консоли браузера
Вкладка Setka Editor пропала из старых постов
Как изменить редактор поста по умолчанию
Как составить диагностический отчёт для службы поддержки
Устаревшая версия PHP
Что вы видите
Причина
Старая версия PHP, которая не поддерживает новые возможности языка программирования, используемые в одной из библиотек.
Решение
Обновите PHP. Сейчас минимальная допустимая версия для нашего плагина — PHP 7.1.3.
Версия 5.5 слишком старая, она вышла в 2013 году и критические уязвимости в ней не закрываются. Посмотреть жизненный цикл версий можно здесь.
Обновить версию PHP у себя на сервере, как правило, можно в панели управления хостингом – Cpanel, ISPManager и др. В большинстве случаев процесс обновления занимает не более 5 минут и не влечет за собой сбоев в работе сайта. При необходимости вы всегда можете вернуться к прежней версии.
Ниже доступны инструкции для обновления версии PHP на наиболее крупных хостинг-площадках WordPress:
Bluehost, Dreamhost, Siteground, IPage, Hostgator, 1&1, Ehost, MediaTemple, GoDaddy, Pagely.
Если вашего провайдера нет в этом списке, пожалуйста, обратитесь в службу поддержки своего хостинга или к вашему системному администратору.
После обновления PHP деактивируйте и снова активируйте плагин Setka Editor.
Плагин загружен не полностью
Когда плагин загружен не полностью (то есть когда не все файлы плагина скопированы на сервер), возникают ошибки в PHP. Такое происходит, если соединение пропало в момент ручной заливки файлов на FTP.
Что вы видите
В большинстве случаев вы увидите белую страницу с ошибками или без. Сообщение об ошибке можно увидеть, если включен WP_DEBUG (без него будет отображаться белая страница) или заглянуть в error.log на сервере (полный адрес до файла зависит от конфигурации сервера) при условии, что в настройках веб-сервера включен этот лог.
Warning: include(/var/www/wordpress/htdocs/1/wp-content/plugins/setka-editor/source/Plugin.php): failed to open stream: No such file or directory in /var/www/wordpress/htdocs/1/wp-content/plugins/setka-editor/vendor/composer/ClassLoader.php on line 412
Warning: include(): Failed opening '/var/www/wordpress/htdocs/1/wp-content/plugins/setka-editor/source/Plugin.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/wordpress/htdocs/1/wp-content/plugins/setka-editor/vendor/composer/ClassLoader.php on line 412
Fatal error: Class 'Setka\Editor\Plugin' not found in /var/www/wordpress/htdocs/1/wp-content/plugins/setka-editor/plugin.php on line 30
Причина
Часть файлов не была загружена или некоторые файлы были удалены. Еще одна возможная причина — часть файлов имеет неправильное содержимое (например, кто-то изменил их вручную и удалил оттуда содержимое).
Решение
Полностью удалите плагин. Если части файлов нет, это не получится сделать через панель управления плагинами, так как при удалении плагина мы используем некоторые из файлов, чтобы удалить настройки плагина.
Если плагин не удаляется через панель управления, просто удалите папку плагина с сервера через FTP (SFTP или SSH), а затем заново загрузите последнюю версию плагина. Загрузить новую версию плагина также можно любым удобным способом — через панель управления или через FTP.
Размер плагина превышает максимальный разрешенный для загрузки
Что вы видите
При попытке загрузить плагин через панель администратора WordPress вы видите страницу с надписью.
Важно: скриншот и текст актуальны для WordPress 4.7, в старых версиях ошибка выглядит по-другому.
Are you sure you want to do this?
Please try again.
Решение
Проверьте максимальный разрешенный размер файлов для загрузки. Самый простой способ сделать это — зайти на страницу "Upload New Media". В самом низу страницы будет указан максимальный допустимый размер файла. Например: "Maximum upload file size: 3 MB." (см. скриншот).
Максимальный допустимый размер файла должен быть больше, чем размер ZIP-архива с плагином.
Чтобы изменить эту настройку, обратитесь к службе поддержки хостинга и попросите увеличить размер файлов, разрешенных для загрузки (например, до 20 Мб).
Если поддержка не понимает, что нужно сделать, или вы хотите внести изменения самостоятельно, то найдити файл php.ini и внесите два изменения. Обычно файл php.ini находится по адресу /etc/php/apache2/php.ini (но может находиться и в другом месте в зависимости от ОС сервера и его конфигурации).
Внутри файла нужно изменить две настройки upload_max_filesize и post_max_size. Они могут иметь разные значения, но post_max_size не должна быть меньше upload_max_filesize. Можно установить любое значение, например, 1024M (гигабайт).
Важно: после внесения изменений в файл перезапустите веб-сервер или PHP-FPM (в зависимости от конфигурации сервера) для того, что бы применить новые настройки. Если все сделано верно, то на странице Upload New Media вы увидите новую цифру.
Иногда данные настройки могут быть указаны несколько раз в разных местах (например, в .htaccess файле или в других PHP-конфигурациях) и перезаписывать значения из php.ini. Также эту настройку может переопределять какой-либо из плагинов WordPress или даже тема (хотя вероятность этого крайне мала).
Не открывается одна из страниц настроек плагина
Что вы видите
Одна из страниц настроек нашего плагина не открывается.
Причина
Такая проблема возникает при использовании HHVM и его настроек.
Решение
Добавьте в конфигурацию HHVM строчку ниже.
hhvm.libxml.ext_entity_whitelist = file,http
Более подробное описание и обсуждение проблемы вы можете прочитать здесь.
Заблокированный wp-admin
Что вы видите
Не доходят обновления стилей. Не появляются новые темы. Редактор перестал работать. Плагин показывает, что истекла подписка и редактор не открывается.
Причина
API Setka Editor не смогло доставить обновления на сайт с обновленными CSS и JS-файлами, а также обновить информацию о продлении подписки. Это может случится по нескольким причинам:
- Когда API обращалось к сайту, сервер был недоступен (выключен, сильно загружен, без доступа в интернет) или неисправен.
- Доступ к файлу wp-admin/admin-post.php заблокирован на стороне сервера или WordPress.
- Используется слишком старая версия плагина, которая не поддерживается текущим API от Setka Editor.
- В настройках аккаунта доменное имя указано без учета http/https. Обращаем внимание, что если на вашем домене установлено защищенное соединение, URL должен быть указан как https://
Решение
Уточните у поддержки хостинга, не включен ли fierwall или другие ограничения на доступ к файлу wp-admin/admin-post.php. Чтобы все работало, внешние подключения к этому файлу должны быть разрешены.
Блокировать доступ могут и плагины. Например, некоторые плагины ограничивают доступ к файлам внутри папки wp-admin, если пользователь не авторизован. Один из таких плагинов — Lockdown WP Admin.
К файлу wp-admin/admin-post.php должны быть разрешены запросы POST, GET, PUT и подобные им. Более подробно об этом файле и запросах к нему вы можете прочитать в кодексе WordPress.
Чтобы проверить возможность подключения вручную, откройте страницу http://your-domain.com/wp-admin/admin-post.php, указав свой домен. Если в веб-инспекторе на вкладке Resources в секции Request & Response будет указан Status OK, Code 200 — значит, скорее всего, все в порядке.
Установлен плагин Lockdown WP Admin
Это частный случай предыдущей проблемы, но рассмотрим его отдельно.
Решение
Напишите следующий код в любом другом плагине, теме или mu-плагине.
function lockdown_wp_admin_no_check_files_2016_12_29($files) {
$files[] = 'admin-post.php';
return $files;
}
add_filter('no_check_files', 'lockdown_wp_admin_no_check_files_2016_12_29');
Проверьте работу кода, открыв страницу example.com/wp-admin/admin-post.php. Если откроется белая страница — проблема решена. Если откроется страница 404 — код не сработал. Возможно, вы добавили его в файл, который не подключается в WordPress.
Не подключаются стили и шрифты
Что вы видите
При просмотре сайта вне CMS видно, что верстка постов «разваливается», а у всех элементов из Setka Editor нет стилей (пост выглядят как обычный текст).
Причина
В теме подключение всех CSS и JS файлов сделано не в общепринятой практике WorldPress, поэтому сторонние плагины не могут добавить или убрать необходимые файлы.
Решение
Есть два варианта решения проблемы:
- Исправьте логику подключения CSS и JS файлов внутри темы, как это рекомендуют делать разработчики WordPress. Этот подход не накладывает технических ограничений. Уберите все жестко подключенные CSS и JS файлы внутри файла raw_header.php (обычно в темах файлы такого типа называют header.php) и вынесите всю логику их добавления в отдельные файлы. Добавьте вызов функции wp_head() внутри секции <head>.
- Если вы не хотите переписывать тему, то вручную подключите CSS от Setka Editor. Этой цели можно достичь разными путями. Мы успешно протестировали следующий подход: сделали дополнительный файл setka-editor-resources.php. Он подключается в raw-header.php. Ниже содержимое файла с комментариями.
Замечание 1. Способ, описанный ниже, подключает только CSS файл. JS шрифтов Adobe Fonts и других внешних файлов необходимо подключить похожим образом.
<?
php
// Added by Setka Editor team
function setka_editor_print_head_resources() {
global $wp_styles;
// Проверяем наличие активированного плагина Setka Editor
// А также функцию, которую хотим вызвать
if( !is_callable( array( '\Setka\Editor\Service\ScriptStyles', 'register' ) ) )
return;
// Вызываем регистрацию необходимых CSS и JS для Setka Editor
// Обычно это делает WorldPress в момент вызова wp_head() (о которой писалось выше)
\Setka\Editor\Service\ScriptStyles::register();
\Setka\Editor\Service\ScriptStyles::register_theme_resources();
// Проверяем, есть ли нужный нам CSS файл и выводим с ним
if( isset( $wp_styles->registered['setka-editor-theme-resources'] ) ) {
$url =& $wp_styles->registered['setka-editor-theme-resources']->src;
?><?php
}
}
setka_editor_print_head_resources(); // Сразу вызываем функцию
Замечание 2. Ссылка на CSS хранится в опции setka_editor_theme_resource_css. Ее можно получить вручную, с помощью get_option('setka_editor_theme_resource_css').
// Перед вызовом рекомендуется проверить существование класса для предотвращения фатальных ошибок в PHP
$css = new Setka\Editor\Admin\Options\ThemeResourceCSS\Option();
// Отдает всегда один тип данных (если ссылки нет, вернется пустая строчка)
$url = $css->getValue();
// или (может вернуть false, если значения нет)
$url = $css->getValueRaw();
Нет вкладки Setka Editor на странице создания новой записи
Сперва убедитесь, что:
- Плагин Setka Editor установлен и активирован (Plugins -> Installed plugins).
- Setka Editor включен для работы с записями: стоит галочка напротив Posts (Setka Editor -> Settings):
Если на странице создания новой записи вы по-прежнему видите
вместо
Пожалуйста, перейдите в браузере в режим разработки, откройте консоль браузера (CTRL+SHIFT+I или F12), сделайте снимок страницы и направьте его нашей службе поддержки.
Редактор не запускается. Ошибка "Mixed Content" в консоли браузера
Setka Editor не запускается на странице редактирования поста, со следующей формулировкой:
Также из постов могут пропасть изображения и другой не текстовый контент. Браузер показывает ошибку, связанную с блокировкой небезопасного контента:
Консоль отдаёт ошибку вида
Mixed Content: The page at *<URL>' was loaded over HTTPS, but requested
an insecure image "<URL>". This request has been blocked; the content must
be served over HTTPS.
Причина
Файлы редактора и/или изображения в постах загружаются протоколу HTTP, тогда как сам сайт работает на HTTPS. Браузер видит это несоответствие и считает контент, распространяемый по HTTP, небезопасным. Небезопасный контент автоматически блокируется.
Решения
Активируйте принудительную загрузку файлов редактора с Setka CDN
Чтобы не зависеть от путей к файлам на вашем сервере, включите загрузку редактора и стилей с Setka CDN.
Для этого перейдите в настройки плагина, отметьте галочкой пункт "Enable Setka CDN files" и сохраните изменения:
Используйте SSL-плагины для WordPress
- Если вы уже используете такой плагин, убедитесь, что установлена последняя версия.
- Если изображения по прежнему не загружаются, попробуйте использовать другой SSL-плагин. Например, Really Simple SSL.
- В некоторых случаях, после исправления несоответствий в протоколах HTTP и HTTPS, может потребоваться переустановка плагина Setka Editor.
Вручную отредактируйте пути до файлов, с помощью SSH
Чтобы вручную выполнить поиск и замену протокола с HTTP на HTTPS, потребуется SSH-доступ к серверу сайта.
Шаг 1. Подключитесь к серверу сайта по SSH
На macOS и Linux, с помощью приложения Терминал:
ssh user@site-domain.ru
Где user – ваше имя пользователя, а site-domain.ru – адрес сайта.
На Windows потребуется установить и настроить SSH-клиент. Например, PuTTY.
Шаг 2. Замените протокол с HTTP на HTTPS
1. Перейдите в папку с сайтом, с помощью команды cd:
cd /path/to/site
Путь к сайту можно уточнить у хостинг-провайдера.
2. Найдите и замените все строки с упоминанием HTTP. Команда, приведённая ниже, не произведёт замену, а лишь покажет значения, которые будут заменены впоследствии. Проверьте результат. Если всё верно, запустите команду без ключа --dry-run.
wp search-replace http://site-domain.ru https://site-domain.ru --dry-run
3. Если выводится ошибка -bash: wp: command not found
Скачайте wp-cli:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
После чего, выполните команду из пункта 2 в таком виде:
php wp-cli.phar search-replace http://site-domain.ru htts://site-domain.ru --dry-run
Вкладка Setka Editor пропала из старых постов
Что вы видите
Вкладка редактора не отображается в постах, ранее свёрстанных в Setka Editor. Setka Editor доступен только для новых постов.
Причина
Setka Editor блокирует встроенный в WordPress редактор TinyMCE. Это делается, чтобы посты, Свёрстанные в Setka Editor, не поддавались редактированию в других редакторах.
Некоторые другие плагины всё же предпринимают попытку запустить TinyMCE на странице редактирования. Возникает противоречие: Setka Editor не может запуститься, пока работает TinyMCE, а TinyMCE не может запуститься, пока Setka Editor блокирует его работу.
Решения
1. Используйте последнюю версию WordPress с редактором Gutenberg
WordPress с редактором Gutenberg не имеет подобных проблем, поскольку не использует TinyMCE.
Важно: обновление WordPress до версии с Gutenberg не решит проблему, если вы будете использовать плагин Classic Editor.
2. Отключите принудительную блокировку TinyMCE
Код, блокирующий запуск TinyMCE, можно отключить. Для этого добавьте следующий фрагмент в код любого MU-плагина на сайте:
function disableRichEditRunner()
{
remove_filter('user_can_richedit', array('Setka\Editor\Admin\Service\RichEditRunner', 'userCanRichEdit'));
}
add_action('wp_loaded', 'disableRichEditRunner');
Как изменить редактор поста по умолчанию
В некоторых ситуациях пост, созданный в Setka Editor, может переключиться на стандартный визуальный редактор. Например, это случалось в устаревших версиях Wordpress-плагина Setka Editor. Переключение на стандартный редактор "ломает" вёрстку.
Чтобы изменить редактор по умолчанию на Setka Editor, скачайте wp-cli и подключитесь к серверу сайта по SSH. Затем выполните эту команду в папке с сайтом:
wp post meta POST_ID _setka_editor_use_editor 1
POST_ID - идентификатор поста в WordPress.
Если требуется вернуться к стандартному редактору, выполните:
wp post meta delete POST_ID _setka_editor_use_editor
Подробнее о командах WordPress
Как составить диагностический отчёт для службы поддержки
В некоторых случаях, для решения проблемы потребуется диагностический отчёт WordPress-плагина Setka Editor. Чтобы скачать его:
1. Перейдите в настройки плагина.
2. Откройте вкладку "Support" и нажмите кнопку "Generate diagnostic report":
3. Сохраните файл отчёта и приложите его к обращению в нашу службу поддержки.