Как передать значение в закрытие add_action ()?

Это мой код

<?php
$usersfollowing=1;
echo($usersfollowing);

            add_action( 'elementor/query/my_custom_filter', function( $query ) {
    $query->set( 'author', '1' );
} );
?>

Он работает нормально, когда я даю значение «1» после «автора». Я хочу использовать $ usersfollowing для передачи значения как 1. Когда я делаю $query->set( 'author', $usersfollowing ), это не работает.

Я хочу использовать $ usersfollowing для передачи значения переменной.


person Kuwir Singh    schedule 20.07.2020    source источник
comment
Я подозреваю, что вам нужно function($query) use ($usersfollowing) {, чтобы поместить переменную в область локальной функции.   -  person halfer    schedule 20.07.2020


Ответы (1)


$usersfollowing = 1;
echo($usersfollowing);

add_action('elementor/query/my_custom_filter', function ($query) use ($usersfollowing) {
    $query->set('author', $usersfollowing);
});

Как указано в комментариях Нико Хаасе: Что такое замыкание в PHP и почему он использует идентификатор использования?

person Mehrdad Dastgir    schedule 20.07.2020