Заполнение нескольких полей динамической пользовательской мета - PullRequest
1 голос
/ 21 июня 2019

У меня есть сайт Wordpress, где каждый пользователь связан с пользователем «верхнего уровня», а идентификатор этого пользователя верхнего уровня хранится в пользовательском метаполе «direct_upline».

В конкретной гравитационной форме в настоящее время я заполняю скрытое поле значением {user: direct_upline}.

Например, пользователь А заполняет форму. Direct_upline пользователя A - это пользователь B. Затем я хотел бы заполнить direct_upline пользователя B и т. Д. (Возможно, на 10 уровней глубиной).

Есть идеи, как наиболее эффективно это сделать? Ниже приведена функция для заполнения нескольких полей в одной функции; Я думал, что могу сделать это в сочетании с $ all_meta_for_user = get_user_meta ($ user_id);

add_filter( 'gform_field_value', 'populate_fields', 10, 3 );
function populate_fields( $value, $field, $name ) {

    $values = array(
        'field_one'   => 'value one',
        'field_two'   => 'value two',
        'field_three' => 'value three',
    );

    return isset( $values[ $name ] ) ? $values[ $name ] : $value;
}
...