AJAX работает только тогда, когда я зарегистрирован как Admin

Я хочу сделать запрос AJAX при каждом изменении значения выбора, чтобы обновить реальное значение из базы данных. Я кодирую внутри shortcode на functions.php . У меня есть элемент select подобный этому,

 echo '<select name="changeValue" onchange="changeValue(' . $user->ID . ', this.options[this.selectedIndex])">' 

В конце короткого кода я делаю:

 ?> <script type="text/javascript"> function changeValue(id, valueElement) { jQuery.post( "<?php echo admin_url('admin-ajax.php'); ?>", { 'action': 'update_value', 'data': { user_id: id, value: valueElement.value } }, function(response){ console.log(response) } ); } </script> <? } add_shortcode('the_shortcode', 'the_shortcode'); function update_value() { $user_id = $_POST['data']['user_id']; $value= $_POST['data']['value']; echo $user_id . ' - ' . $empresa; //return update_user_meta($user_id , 'value', $value); wp_die(); } add_action( 'wp_ajax_update_value', 'update_value' ); add_action( 'wp_ajax_nopriv_update_value', 'update_value' ); 

Мой код работает, когда я зарегистрирован как Admin . Однако, если я зарегистрирован как другой пользователь, console.log(response) возвращает весь контент HTML-страницы. Что я делаю не так?

EDIT: Другое отличие состоит в том, что при регистрации в качестве администратора admin-ajax.php возвращает 200 OK , тогда как при регистрации в качестве пользователя он возвращает 302 Found .

Solutions Collecting From Web of "AJAX работает только тогда, когда я зарегистрирован как Admin"