Ошибка "Function create_function() is deprecated" после обновления PHP

31 дек. 2018 г., 09:01:06
Просмотры: 15.5K
Голосов: 4

Мы получаем ошибку после обновления версии PHP до 7.2

Deprecated: Функция create_function() устарела в /customers/3/6/9/vakantiewoning-in-zuid-frankrijk.be/httpd.www/wp-content/themes/Tigerdesign/inc/init.php на строке 22

Warning: session_start(): Не удалось начать сессию, так как заголовки уже отправлены в /customers/3/6/9/vakantiewoning-in-zuid-frankrijk.be/httpd.www/wp-content/plugins/unyson/framework/includes/hooks.php на строке 258

Notice: woocommerce_get_page_id устарела начиная с версии 3.0! Используйте wc_get_page_id вместо неё. В /customers/3/6/9/vakantiewoning-in-zuid-frankrijk.be/httpd.www/wp-includes/functions.php на строке 3888

Notice: WC_Cart::get_cart_url устарела начиная с версии 2.5! Используйте wc_get_cart_url вместо неё. В /customers/3/6/9/vakantiewoning-in-zuid-frankrijk.be/httpd.www/wp-includes/functions.php на строке 3888

1
Комментарии

Посмотрите на путь к файлу в первой ошибке. Проблема в вашей теме. Вам необходимо связаться с разработчиком темы. Судя по этой ошибке и последним двум ошибкам, ваша тема устарела и не обновлялась для новых версий WooCommerce и PHP.

Jacob Peattie Jacob Peattie
31 дек. 2018 г. 10:04:14
Все ответы на вопрос 1
0

Проблема в вашей теме. Она несовместима с PHP 7.2.

В этой версии функция create_function устарела, и вместо неё следует использовать Анонимные функции.

Например, вместо такого кода:

$callback = create_function('', 'echo "'.str_replace('"', '\"', $section['desc']).'";');

Следует использовать это:

$callback = function() {
    echo str_replace('"', '\"', $section['desc']);
};
31 дек. 2018 г. 10:41:16