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

В вашем блоге на движке wordpress стали отображаться ошибки Notice, не работает админка или виден белый экран, либо

Warning: Cannot modify header information - headers already sent by (output started at /***/wp-includes/functions.php:2925) in /***/wp-includes/pluggable.php on line 876

Это результат обработки устаревших функций. Многие из них можно исправить.

Делается это с помощью debug режима.
Включаем. В wp-config.php ищем строку:

define('WP_DEBUG', false);

и меняем на

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

1.

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

откройте файл /wp-content/themes/тема/functions.php вашей темы и ищите функцию add_custom_background.
пример:

    
if(function_exists('add_custom_background')) {
add_custom_background();
}

заменить на

if(function_exists('add_theme_support')) { add_theme_support( 'custom-background'); }

или

if(function_exists('add_theme_support')) { add_theme_support( 'custom-background','тут_необходимые_аргументы'); }

2.

Notice: Undefined index: page in /.../wp-content/themes/.../functions.php on line ...

и аналогичные

Notice: Undefined index: ... in /... on line ...

откройте файл functions.php вашей темы и смотрите указанную строку
пример:

if ( $_GET['page'] == basename(__FILE__) ) {

заменить на

if ( isset($_GET['page']) && $_GET['page'] == basename(__FILE__) ) {
if(trim($_POST['wptcajax']) === 'wptcajax' && !empty($_POST['comment_reply_dp']))

заменить на

if(trim(isset($_POST['wptcajax']) && $_POST['wptcajax']) === 'wptcajax' && !empty($_POST['comment_reply_dp']))

3.

Notice: Функция has_cap вызвана с аргументом, который считается устаревшим с версии 2.0! Использование уровней пользователей в плагинах и темах считается устаревшим. Используйте роли и возможности.. in .../wp-includes/functions.php on line ...

Какой либо плагин из установленных дает эту ошибку.
Чтобы найти необходимый, зайдите в папку плагинов /wp-content/plugins/ и по одному перетаскивайте папки плагинов на уровень выше (плагин не будет использоваться) и проверяйте выдается ли сообщение об ошибке.
Плагин нашли, как исправить?
В новых версиях wordpress больше не используются числовые значения Уровней пользователя (User Level), сейчас применяются Роли (Admin — администратор, Subscriber — подписчик и т.д.) и Возможности capabilities (edit_posts — редактирование записей, read — читать, read_private_posts — читать личные записи и т.д.), подробнее см. тут Roles_and_Capabilities.
Update 11.11.14
Статья про уровни пользователей в wordpress ниже 2.0
User Levels.
Аргумент capability (возможность) задается в плагине или теме, например, в функциях добавления административной страницы темы или плагина add_theme_page(), add_options_page(), add_menu_page(), add_submenu_page().
примеры:
a.

add_menu_page( 'MyPage', 'MyPage', 8, 'mypage', array(&$this, 'mainAdmin'), null, 6);

заменить на

add_menu_page( 'MyPage', 'MyPage', 'edit_pages', 'mypage', array(&$this, 'mainAdmin'), null, 6);

b.

add_submenu_page('mypage', 'MyLines', 'Lines', 'administrator', 'my-lines', array(&$this, 'linesPage'));

заменить на

add_submenu_page('mypage', 'MyLines', 'Lines', 'edit_pages', 'my-lines', array(&$this, 'linesPage'));

c.

add_options_page('Login LockDown', 'Login LockDown', 9, basename(__FILE__), 'print_loginlockdownAdminPage');

заменить на

add_options_page('Login LockDown', 'Login LockDown', 'manage_options', basename(__FILE__), 'print_loginlockdownAdminPage');

4.

Notice: register_sidebar_widget is deprecated since version 2.8! Use wp_register_sidebar_widget() instead. in .../wp-includes/functions.php on line ...

ищите в файлах темы функцию register_sidebar_widget
пример:

register_sidebar_widget('Most Comment', 'custom_most_comment');

заменить на:

wp_register_sidebar_widget('Most Comment', 'custom_most_comment', '');

5.

Notice: register_widget_control is deprecated since version 2.8! Use wp_register_widget_control() instead. in .../wp-includes/functions.php on line ...

ищите в файлах темы функцию register_widget_control
пример:

register_widget_control('Most Comment', 'custom_most_comment_admin', 300, 200);

заменить на

wp_register_widget_control('Most Comment', 'custom_most_comment_admin', 300, 200);

6.

Notice: Undefined index: id in .../wp-content/themes/.../index.php on line ...

открываете файл index.php темы и смотрите указанную строку
пример:

global $options;
foreach ($options as $value) {
    if (get_option( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } 
	else { $$value['id'] = get_option( $value['id'] ); }
}

заменить на

global $options;
foreach ($options as $value) {
	if ( isset( $value['id'] ) ) {
		if (get_option( $value['id'] ) === FALSE) {
			$$value['id'] = $value['std'];
		} else {
			$$value['id'] = get_option( $value['id'] );
		}
	}
}

Продолжение статьи wordpress устаревшие функции и notice 2

6 комментариев

Лира on 09.06.2014 at 16:41.

Здравствуйте! Помогите пожалуйста, коды которые вы показывали if(function_exists(‘add_custom_background’)) {
add_custom_background();
}в функцион рнр папке нету. Несколько часов искала, У меня так: Notice: Функция add_custom_background с версии 3.4 считается устаревшей! Используйте add_theme_support( ‘custom-background’, $args ). in /***/wp-includes/functions.php on line 3078
Помогите очень прошу!

Ответить

kgtu5

kgtu5 on 09.06.2014 at 20:11.

привет, контакты вверху справа ;-)

Ответить

Лира on 09.06.2014 at 20:46.

Не поняла? Адрес сайта спрашиваете?

Ответить

kgtu5

kgtu5 on 10.06.2014 at 00:22.

сначала слева внизу кнопка ВВЕРХ, затем справа в сайдбаре ДЛЯ СВЯЗИ

Ответить

Vasiliirob on 22.02.2018 at 18:08.

variant5

Ответить

admin

admin on 22.02.2018 at 18:28.

Vasiliirob :swear:

Ответить

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

ваш 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 для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.