@Valery23

Как правильно поправить ошибку php Notice: Only variables should be passed by reference in...?

Всем привет, возникла ошибка в php при переходе с версии 5.6 на 7.3: Notice: Only variables should be passed by reference in...

if ( apply_filters( 'ot_child_theme_mode', false ) == true ) {
        
          $path = ltrim( end( @explode( get_stylesheet(), str_replace( '\\', '/', dirname( __FILE__ ) ) ) ), '/' );
          define( 'OT_LANG_DIR', trailingslashit( trailingslashit( get_stylesheet_directory() ) . $path ) . trailingslashit( 'languages' ) . 'theme-mode' );
          
        } else {
        
          $path = ltrim( end( @explode( get_template(), str_replace( '\\', '/', dirname( __FILE__ ) ) ) ), '/' );
          define( 'OT_LANG_DIR', trailingslashit( trailingslashit( get_template_directory() ) . $path ) . trailingslashit( 'languages' ) . 'theme-mode' );
          
        }
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
v3shin
@v3shin
Веб-шаман
Вы в какую-то функцию передаете результат работы другой функции, а надо этот результат закатать в переменную и передавать ее.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
kimono
@kimono
Web developer
Неверно используете функцию end:
$path = str_replace( '\\', '/', dirname( __FILE__ ) );
$array = explode( get_stylesheet(), $path ) ;
$last = end($array);
$path = ltrim( $last, '/' );


PS: И старайтесь не выполнять 5 действий в одной строке, в глазах рябит от обилия скобок.
Ответ написан
Комментировать
Stimulate
@Stimulate
могу
Уберите собак.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы