Fatal error: Can't use function return value in write context in … 32 line

107
07 сентября 2019, 16:50

При попытке активации темы wordpress ругается на ошибку в 32 cтроке. Вот эта строка... Что тут не так? На сервере версия php 7.0 если что.

if((!empty( $_POST['featured_image'])
    && $_POST['featured_image'] == $file['name'])
    || (empty( $_POST['featured_image'])
    && empty(get_post_thumbnail_id( $_POST['advert_id'])))){

Подскажите как исправить сей нюанс?

Answer 1

Такая ошибка была характерна до версии PHP 5.5.0 при попытке вызова функции из языковой конструкции empty. empty именно конструкция языка, а не функция, поэтому у неё было такое ограничение. Но начиная с PHP 5.5.0 вызов вида

empty(get_post_thumbnail_id( $_POST['advert_id']))

стал легитимным.

Поэтому стоит перепроверить, какой именно версии PHP у вас выполняет этот скрипт. Например, добавить где-то выше этого условия вывод версии:

var_dump(phpversion());

Для современных версий PHP условие выглядит нормально.

READ ALSO
Моделирование планетарной системы

Моделирование планетарной системы

Задание заключается в том, чтобы на примере не менее 5 классов, которые содержат не менее 4 функций использовать концепции ООП: инкапсуляцию,...

141
Неправильно работает функция rand() в c++ [закрыт]

Неправильно работает функция rand() в c++ [закрыт]

Хочу получить рандомные числа от 0 до 5Этот код возвращает: 11 23 35 41 55 65 74 Почему?

137
Прочитать структуры из вектора

Прочитать структуры из вектора

Есть вектор структур:

127
Найти максимальный элемент массива [закрыт]

Найти максимальный элемент массива [закрыт]

Найти максимальный элемент в массиве ai (i=1, , n), используя очевидное соотношение max(a1, , an) = max[max(a1, , an–1), an]Использовать рекурсивную и нерекурсивную...

135