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

Y
На сайте с 15.07.2017
Offline
39
1018

Стоял вордпресс на 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 является устаревшей.

SV
На сайте с 03.11.2008
Offline
1395
#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
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Топики помощи с ⓌordPress (https://searchengines.guru/ru/forum/1032910 ) и основы безопасности сайтов ( https://searchengines.guru/ru/forum/774117 ). *** Помощь\консультации в топиках форума - БЕСПЛАТНО. Платные услуги ( https://wp.me/P3YHjQ-3 ) - с бюджетом от 150$ ***
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
39
#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
1554
#7
Это в functions самой темы.

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

✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
SV
На сайте с 03.11.2008
Offline
1395
#8
LEOnidUKG:
а WP дублирует её. Но делать ЭТО через создание функции, мягко говоря странно.

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

Yarikmedik:
Это в functions самой темы.
Y
На сайте с 15.07.2017
Offline
39
#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?

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

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

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