【问题标题】:Update user meta on custom wordpress form and redirect在自定义 wordpress 表单上更新用户元并重定向
【发布时间】:2013-06-03 07:44:16
【问题描述】:

我有一个功能齐全的自定义 wordpress 表单,可以在用户登录时更新用户元数据,但是当我提交它时只是重新加载我所在的页面,我试图让它重定向到感谢页面。我该怎么办?我在下面使用的当前工作代码。谢谢。

    <?php  
        global $current_user;
        get_currentuserinfo();
    if($_POST['gender'] != '') {
    $gender_update = $_POST['gender'];
    update_user_meta($current_user->ID,'gender', $gender_update);
    }
        ?>

<?php
function curURL() {
$pageURL = 'http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
return $pageURL;
}
?>

<form name="userform" method="post" id="adduser" class="user-forms" action="<?php echo curURL(); ?>"  >

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    update_user_meta 在失败或未进行任何更改时返回 false:

    $result = update_user_meta( $current_user->ID,'gender', $gender_update );
    if( false !== $result ) {
        wp_safe_redirect( home_url( '/thanks/' ) );
        exit;
    }
    

    【讨论】:

    • 此代码是否意味着如果不进行任何更改,它将重定向?表单一开始是空白的,所以总会有数据要添加到用户元数据中,所以我不确定这段代码是否有效?
    • 如果添加或更改了值,它将重定向
    • 好的,谢谢,将其添加到我的代码中会在我加载页面时重定向页面,而不是在表单提交时......有什么想法吗?
    • 您可能应该检查是否设置了 var:if(isset($_POST['gender'])){ //do update and redirect stuff }
    猜你喜欢
    • 2017-11-25
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 2018-09-12
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多