私はユーザープロファイルページを作成するためのプラグインを作成しました。これにより、ユーザーはフォームを通じてカスタムメタ情報を更新できます。ここに私の機能は次のとおりです。ワードプレスアップデートユーザーメタフロントエンドプロファイル
// Function to edit User Meta
function personalfragebogen_konto_bearbeiten() {
global $current_user;
// Get User Meta
$strasse = get_user_meta($current_user->ID, '_strasse', true);
// Create Form
<form name="personalfragebogen" action="" method="POST">
<span class="full" >
<span class="two_fifth first">
<h3><?php _e('Straße:', 'themesdojo'); ?></h3>
</span>
<span class="three_fifth">
<input type="text" name="strasse" id="strasse" value="<?php echo $strasse; ?>" class="input-textarea"/>
</span>
</span>
<button type="submit">Speichern</button>
</form>
// Get New User Meta
$strasse = $_POST['strasse'];
// Update/Create User Meta
update_user_meta($current_user->ID, '_strasse', $strasse);
// Add Hook
add_action('personalfragebogen_init', 'personalfragebogen_konto_bearbeiten');
function personalfragebogen_init() {
do_action('personalfragebogen_init');
}
1つのこと以外はすべて正常に動作します。フォームを送信すると、データがデータベースに保存され、ページが更新されます。しかし、今私のリフレッシュされたページにフォームは空です。ページを再度リフレッシュすると、データが表示されます。これについての問題は何ですか?
ありがとうございます!働くことができ、このような
あなたが最初にすべきことは、フォームがメタを更新する前に投稿されたチェックです。 isset($ _ POST ['strasse'])などを使用してください。フォームを出力する前にそのアップデートを実行してください。 –