Извлечь значение db mysql в поле ввода поиска и изменить его в раскрывающемся списке - PullRequest
0 голосов
/ 02 апреля 2020

Я не могу найти решение своей проблемы, потому что для меня это продвинутый уровень программирования. У меня есть пользовательское поле поиска, но мне нужно «преобразовать его» в раскрывающемся меню, которое выбирает значения некоторых пользователей в mysql, избегая записи сотен вариантов выбора. Это поле формы регистрации. Я работаю над ним

<tr class="user-luogo-wrap">
<th><label for="luogo">
            Luogo:  </label></th>
    <td><input type="text" name="luogo" id="luogo" value="Treviso" class="regular-text"></td>
    </tr>

Создано с помощью функции

function my_user_contactmethods( $user_contactmethods ){
$user_contactmethods['luogo'] = 'Luogo:';
return $user_contactmethods;
}
add_filter('user_contactmethods', 'my_user_contactmethods', 5);

, и это поле, в которое мне нужно получить 'luo go' mysql значения и их изменение в выпадающем списке

<div class="um-search-filter um-text-filter-type "> <input type="text" autocomplete="off" id="luogo" name="luogo" placeholder="Luogo" value="" class="um-form-field" aria-label="Luogo"></div>

Надеюсь, я объяснил это хорошо. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 07 апреля 2020

В консоли я нашел данные формы, полезную нагрузку запроса, сгенерированную после действия поиска: directory_id=3f9fc&page=1&search=&sorting=display_name&gmt_offset=8&post_refferer=61&nonce=f47827a450&luogo=boston&action=um_get_members

Итак, я пытаюсь изменить эту функцию

function field_choices( $field ) {  
    // reset choices
    $field['luogo'] = array();   
    // get the textarea value from options page without any formatting
    $choices = get_field('my_select_values', 'option', false);
    // explode the value so that each line is a new array piece
    $choices = explode("\n", $choices);   
    // remove any unwanted white space
    $choices = array_map('trim', $choices);
    // loop through array and add to field 'choices'
    if( is_array($choices) ) {      
        foreach( $choices as $choice ) {           
            $field['luogo'][ $choice ] = $choice;           
        }       
    }   
    // return the field
    return $field;    
}
add_action('um_get_members', 'field_choices');

Правильна ли моя интуиция?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...