我创建了一个插件来创建用户个人资料页面。在此基础上,用户可以通过表单更新自定义元信息。这是我的函数:
// 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');
}
一切都很好,除了一件事。当我提交表单时,数据将保存到数据库,页面将刷新。但是现在在我刷新的页面上,表单是空的。再次刷新页面时,将显示数据。这有什么问题?
提前谢谢你!
这样
的事情可以工作...
<?php
// Function to edit User Meta
function personalfragebogen_konto_bearbeiten() {
global $current_user;
// Get New User Meta
if(isset($_POST['strasse'])) {
$strasse = $_POST['strasse'];
// Update/Create User Meta
update_user_meta( $current_user->ID, '_strasse', $strasse);
else {
// Get User Meta
$strasse = get_user_meta( $current_user->ID, '_strasse', true);
}
?>
<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>
<?php
}
// Add Hook
add_action( 'personalfragebogen_init', 'personalfragebogen_konto_bearbeiten');
function personalfragebogen_init() {
do_action('personalfragebogen_init');
}