Вордпресс переход на 7,2

Y
На сайте с 15.07.2017
Offline
42
1043

Стоял вордпресс на 5.4, поддержка хостинга говорит, что 7,2 быстрее. После перехода на свежую версию php прочекал плагином на совместимость и в файле function.php показывает код, который несовместим:

add_filter('login_errors',create_function('$a', "return null;"));

Как заменить этот код, чтобы поддерживал php 7,2 ?

Шаблонер
На сайте с 16.07.2018
Offline
1
#1

Наверное вы имеете ввиду файл functions.php ?

Тут следует уточнить о каком именно файле идет речь, потому, что такой файл есть в папке /wp-includes/functions.php, а так же в папке самой темы. Если в папке самой темы - то как вариант, попробовать закомментить эту строку.

Если в папке /wp-includes/ - то тут уже вопрос либо совместимости самого wordpress с этой версией (так как файл является частью самого движка WP) либо вопрос к хостеру.

Wordpreser
На сайте с 01.08.2013
Offline
47
#2

create_function с версии 7.2 PHP является устаревшей.

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
Yarikmedik:
Как заменить этот код, чтобы поддерживал php 7,2 ?

Выкинуть нафик эту хрень. И не только потому что create_function в 7,2 устаревшая, но и вообще - это походу дыра у тебя.

Шаблонер:
то тут уже вопрос либо совместимости самого wordpress с этой версией

У ВП нет вопросов с актуальными версиями серверного ПО.

https://wordpress.org/about/requirements/:
To run WordPress we recommend your host supports:

PHP version 7.2 or greater.
MySQL version 5.6 or greater OR MariaDB version 10.0 or greater.
HTTPS support
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
M
На сайте с 04.10.2011
Offline
90
#4
Yarikmedik:
add_filter('login_errors',create_function('$a', "return null;"));

Как заменить этот код, чтобы поддерживал php 7,2 ?

add_filter('login_errors',function($a) { return null;} );

Сдается, обращаться скайп avdesk-it-kmm Верстка, кодинг - контакты в профиле... VPS от 5€ (https://gmhost.com.ua/?partner=10255)
Y
На сайте с 15.07.2017
Offline
42
#5
Шаблонер:
Наверное вы имеете ввиду файл functions.php ?

Тут следует уточнить о каком именно файле идет речь, потому, что такой файл есть в папке /wp-includes/functions.php, а так же в папке самой темы. Если в папке самой темы - то как вариант, попробовать закомментить эту строку.

Если в папке /wp-includes/ - то тут уже вопрос либо совместимости самого wordpress с этой версией (так как файл является частью самого движка WP) либо вопрос к хостеру.

Это в functions самой темы. Я так понял это что-то с безопасностью связано. И нужен или нет этот код хз. В старых версиях вроде нужен был, сейчас вордпресс сильно обновился.

M
На сайте с 04.10.2011
Offline
90
#6
Yarikmedik:
И нужен или нет этот код хз.

Ваш код блокирует любую "реакцию" ВП на ошибки при авторизации

LEOnidUKG
На сайте с 25.11.2006
Offline
1745
#7
Это в functions самой темы.

Эта строчка гасит ошибки логирования. Наверное в теме своя система через JS проверка, а WP дублирует её. Но делать ЭТО через создание функции, мягко говоря странно.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
SeVlad
На сайте с 03.11.2008
Offline
1609
#8
LEOnidUKG:
а WP дублирует её. Но делать ЭТО через создание функции, мягко говоря странно.

Не делает этого ВП:

Yarikmedik:
Это в functions самой темы.
Y
На сайте с 15.07.2017
Offline
42
#9

А еще вот такая фигня выскочила

ERROR | preg_replace() - /e modifier is deprecated since PHP 5.5 and removed since PHP 7.0

Зашел в файл там:

$status = preg_replace("/((http:\/\/|https:\/\/)[^ )]+)/e", "'<a href=\"$1\" title=\"$1\" $target >'. ((strlen('$1')>=$linkMaxLen ? substr('$1',0,$linkMaxLen).'...':'$1')).'</a>'", $status); // convert link to url

$status = preg_replace("/(@([_a-z0-9\-]+))/i","<a href=\"http://twitter.com/$2\" title=\"Follow $2\" $target >$1</a>",$status); // convert @ to follow

$status = preg_replace("/(#([_a-z0-9\-]+))/i","<a href=\"https://twitter.com/search?q=$2\" title=\"Search $1\" $target >$1</a>",$status); // convert # to search

Это как совместить с 7.2 php?

M
На сайте с 04.10.2011
Offline
90
#10
Yarikmedik:
Это как совместить с 7.2 php?

Если повезет - просто убрать модификатор е

Но скорее всего надо переписывать регулярку без использования данного модификатора

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий