繁体   English   中英

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM