У меня есть небольшая форма, который обновляет пользовательские пользовательскую мету я сделал под названием «DOEL»:get_user_meta и update_user_meta на ту же странице
<?php $user_ID = get_current_user_id(); $user_data = get_user_meta($user_ID); ?>
<form method="POST" action="" id="doel_edit">
<input type="text" value="<?php if(isset($user_data['doel'][0])): echo $user_data['doel'][0]; endif; ?>" name="doel">
<button value="done" type="submit" form="doel_edit">Opslaan</button>
</form>
Когда я отправить форму, я получаю функцию стандартного update_user_meta() для запуска не
<?php if(isset($_POST['doel'])) {
update_user_meta($user_ID, 'doel', $_POST['doel']);
} ?>
нет это все работает нормально, но при загрузке страницы после отправки формы его эхо это старое значение еще до update_user_meta() побежал. Мне нужно перезагрузить страницу вручную, чтобы получить новое значение.
Почему обновление не изменяется напрямую? Как я могу это исправить?
Я думаю, что работающие функции, подобные этим в wp-admin, отлично работают.
дает код внутри функции get_user_meta –
Вы должны делать это с помощью функции в * functions.php *, во время крюка действия. – rnevius
@ aref, вы можете найти здесь функцию: https://core.trac.wordpress.org/browser/tags/4.4.1/src/wp-includes/user.php#L0 это основная функция wp @ rnevius Как мне это сделать? Я не уверен, что есть крючок для любой из функций. У меня также работает аналогичная вещь, где я запускаю пользовательскую функцию для сохранения файлов с помощью wpdb, но это дает ту же проблему. – joren