wordpress устаревшие функции и notice 4

Продолжение истории о исправлении вордпрессовских устаревших функций. Предыдущие — 1я часть, 2я часть, 3я часть.

Как обычно включаем debug режим и смотрим лог сообщений /wp-content/debug.log.

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

В предыдущих статьях использовалась просто

define('WP_DEBUG', true); 

Рекомендую использовать именно 3 функции, т.к. на сайте ошибок видно не будет, они будут автоматом писаться в /wp-content/debug.log. Если файл не создался, то возможно у вас все просто замечательно :-) (правда такое редко бывает), либо у движка не хватает прав доступа на создание файла — создайте его сами и пропишите права доступа 666.

17. Небольшой баг старых версий (примерно 3.3.1)
Причины не известны, но при заходе в админку либо белый экран, либо частично загружается меню и ошибка в логе:

PHP Fatal error:  Access to undeclared static property: WP_Screen::$this in /***/wp-admin/includes/screen.php on line 706

Исправить можно либо обновлением движка на более новую версию, 3.3.1 уже очень старая, либо небольшим фиксом. Открыть файл /wp-admin/includes/screen.php, строка 706:

< ?php echo self::$this->_help_sidebar; ?>

заменить на

< ?php echo $this->_help_sidebar; ?> 

18.

Notice: get_themes is deprecated since version 3.4! Use wp_get_themes() instead. in /***/wp-includes/functions.php on line 3078

Ищем в файлах шаблона вызов функции get_themes:

$themes = get_themes();

Заменить на:

$themes = wp_get_themes();

19.

Notice: get_settings is deprecated since version 2.1! Use get_option() instead. in /***/wp-includes/functions.php on line 3078

Ищем в файлах шаблона вызов функции get_settings:

if (get_settings('template') == $current) {

Заменить на:

if (get_option('template') == $current) {

20.

PHP Notice:  get_theme_data is <strong>deprecated</strong> since version 3.4! Use wp_get_theme() instead. in /***/wp-includes/functions.php on line 2638

Ищем в файлах шаблона вызов функции get_settings:

$themename = get_theme_data(STYLESHEETPATH . '/style.css');

Заменить на:

$themename = wp_get_theme(STYLESHEETPATH . '/style.css');

Update 08.10.14:
Если после замены get_theme_data на wp_get_theme шаблон становится кривой, пробуйте такой вариант:

$themename = wp_get_theme(); 
$themename ->get('ThemeURI').'/style.css';

21.

Strict Standards: mktime(): You should be using the time() function instead in /***/wp-content/plugins/gd-star-rating/code/class.php on line 1992

Идем по указанному пути:

$next_clean = mktime(date("H", $pdate), date("i", $pdate), date("s", $pdate), date("m", $pdate) + $this->o["cache_cleanup_days"], date("j", $pdate), date("Y", $pdate));
if (intval($next_clean) < intval(mktime())) $clean = true;

Заменить на:

$next_clean = time(date("H", $pdate), date("i", $pdate), date("s", $pdate), date("m", $pdate) + $this->o["cache_cleanup_days"], date("j", $pdate), date("Y", $pdate));
if (intval($next_clean) < intval(time())) $clean = true;

22.

Notice: Функция add_custom_image_header с версии 3.4 считается устаревшей! Используйте add_theme_support( 'custom-header', $args ). in .../wp-includes/functions.php on line 3078

Ищите в файлах темы вызов функции add_custom_image_header.
Пример:

add_custom_image_header('header_style', 'admin_header_style');

заменить на

if(function_exists('add_theme_support')) { add_theme_support('custom-header', array('header_style','admin_header_style')); }

23.

Notice: add_option was called with an argument that is deprecated since version 2.3 with no alternative available. in /***/wp-includes/functions.php on line 3378

Ищите в файлах темы или в плагинах похожий запрос:

add_option( $this->options_key, $this->options, $this->options_title );

и замените на

add_option( $this->options_key, $this->options);

Пример (плагин wp-pagenavi):

add_option('pagenavi_options', $pagenavi_options, 'PageNavi Options');

заменить на

add_option('pagenavi_options', $pagenavi_options);

Продолжение будет ;-)

4 комментария

калабельды on 01.11.2014 at 13:19.

спасибо за номер 17! все перекопал, часть админки не фурычила, а оказалось проще простого.

Ответить

Александр on 18.08.2015 at 22:11.

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

Ответить

марина on 24.03.2016 at 04:14.

Огромное спасибо за пункт 17. у меня версия 3.3.3.. сработало.Просто счастлива, что попала к вам. :!:

Ответить

kgtu5

kgtu5 on 24.03.2016 at 12:20.

стараемся :oops:

Ответить

Скажите свое мнение

ваш email не публикуется. обязательно *

;-) :yawn: :whew: :toivo: :tmi: :time: :thinking: :talking: :sweating: :swear: :sun: :star: :smoke: :smirk: :sleepy: :skype: :shock: :shake: :rofl: :rain: :punch: :puke: :poolparty: :pizza: :phone: :party: :oops: :nod: :no: :ninja: :neutral: :nerd: :music: :muscle: :mrgreen: :movie: :mooning: :mmm: :middlefinger: :makeup: :mail: :mad: :lol: :lipssealed: :kiss: :itwashtme: :inlove: :idea: :hi: :heidy: :heart: :headbang: :happy: :handshake: :giggle: :fubar: :flower: :evilgrin: :emo: :dull: :drunk: :drink: :doh: :devil: :dance: :cry: :cool: :coffie: :clapping: :cash: :call: :cake: :bug: :brokenheart: :bow: :blush: :beer: :bear: :bandit: :arrow: :angry: :angel: :^) :???: :?: :-| :-o :-P :-D :-) :-( :!:

 

*

code

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.