2016-12-18 4 views
1

Я пытаюсь получить вход пользователя в массив запросов Wordpress. Я могу получить ввод с моим кодом jquery, но я хочу добавить его в 'meta_value' => '123456', в php-массив. Как я могу изменить 'meta_value' => '123456', от '123456' до var x из сценария jquery?Получите ввод пользователя вместо hardcoding ввода в массив

Если это невозможно, может кто-то предложить другой способ получить 'meta_value' => '123456', из поля ввода?

<script type="text/javascript"> 
    jQuery(document).ready(function(){ 
     jQuery("#bt").click(function(){ 
      var x = jQuery("#txt_name").val(); 
      alert(x); 
     }); 
    }); 

</script> 

<input type="text" id="txt_name" /> 
<input type="button" id="bt" value="click here" /> 




<?php 

$args = array(
     'meta_key' => 'cardnum', 
     'meta_value' => '123456', 
     'meta_compare' => '=' 
    ); 

$user_query = new WP_User_Query($args); 

// User Loop 
if (! empty($user_query->results)) { 
    foreach ($user_query->results as $user) { 
     echo '<p>' . $user->cardnum ." ". $user->nickname . '</p>'; 
    } 
} else { 
    echo 'Not available number.'; 
} 
?> 
+2

Вам необходимо отправить эти данные на сервер с помощью Ajax или в форме. Php не запускается в браузере. В Интернете есть много и много уроков об использовании ajax, а также ajax с wordpress – charlietfl

+0

Благодарим за помощь. – Tarek

ответ

1

Вам не нужно использовать форму или Ajax - вместо этого вы можете использовать строку запроса URL.

Когда функция jquery срабатывает, перезагрузите URL-адрес страницы, но на этот раз включая строку запроса, содержащую переменную.

Затем вы можете извлечь переменную через PHP.

(Это самый быстрый и простой способ для того, чтобы на стороне сервера обработки переменной, которая возникла на стороне клиента.)

HTML:

<input type="text" id="txt_name" /> 
<input type="button" id="bt" value="click here" /> 

JQuery:

$(document).ready(function(){ 
    $("#bt").click(function(){ 
     var x = $("#txt_name").val(); 
     window.location.href += '?x=' + x; 
    }); 
}); 

PHP:

<?php 
parse_str($_SERVER["QUERY_STRING"]); 
echo '<p>The value of <strong>x</strong> is... '.$x.'</p>'; 
?> 
+0

это описание GET ... так что ответ противоречив, а также не очень полный – charlietfl

+0

Да, вы правы по обоим пунктам. Ответ обновлен. – Rounin

Смежные вопросы