WP Tuner и WordPress 3.0
-
Проблема
WP Tuner 0.9.6 в WordPress 3.0 приводит к белому экрану.
Решение
В процессе обсуждения с rxs найдено решение:
- Создать файл
wp-content/db.phpи скопировать туда код плагина изwp-config.php:<?php //-WP Tuner Plugin by MrPete------------ //-------------------------------------- global $wpTunerStart, $wpTunerStartCPU; $wpTunerStart = microtime(); // get start time as early as we can if ( function_exists( 'getrusage' ) ) { $wpTunerStartCPU = getrusage(); } @include_once(dirname(__FILE__).'/plugins/wptuner/wptunertop.php'); // fire up WPTuner //-------------------------------------- //-END WP Tuner Plugin------------------ ?>Обратите внимание — из пути нужно убрать каталог
wp-content, т.к. он стал текущим. Также необходимо объявить переменные$wpTunerStartи$wpTunerStartCPUкак глобальные. - Удалить код плагина из
wp-config.php. - Заменить строку в файле
wptunertop.phpв каталоге плагина:define('WPTUNER_NOTCONFIG',((defined('ABSPATH')&&defined('WP_MEMORY_LIMIT')) ? 1 : 0 )); // if ABSPATH is set, either we're loaded way too late (in an older rev of WP), or (if WP_MEMORY_LIMIT is also set) in a new rev.на следующую:
define('WPTUNER_NOTCONFIG', false); - Закомментировать вызов функции
wptuner_wpconfig_inject()в строках 114 и 319 файлаwptunersetup.php(подсказал dwertheimer):// wptuner_wpconfig_inject();
Подробности
Задача
wptunertop.php— загрузить плагин как можно раньше, ещё до подключения файлаwp-db.php, который затем подключается в самом плагине. С 3.0 это не проходит, потому что в конструкторе классаwpdbвызывается функцияis_multisite(), однако она ещё не определена из-за нарушения последовательности вызова.При перемещении в
wp-content/db.phpфайл по-прежнему загружается до инициализации БД и подключения большинства файлов, т.е. соблюдается задуманный алгоритм. - Создать файл
Тема «WP Tuner и WordPress 3.0» закрыта для новых ответов.