[英]Access and have functioning meta box fields on front end of wordpress
[英]WordPress Update User Meta Front End Profiles
我创建了一个插件来创建用户个人资料页面。 在此,用户能够通过表单更新自定义元信息。 这是我的功能:
// 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');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.