在重定向后触发函数

时间:2012-10-03 作者:Kyle

我使用的功能是将用户重定向到自定义页面,而不是在出现错误时使用wp登录。在我的例子中,我使用Http Referer函数将用户发送回同一页面,因为我的登录表单处于模式中。如何在重定向页面上执行函数,使页面自动打开模式?

这是发生错误时重定向的代码:

add_filter(\'login_redirect\', \'_catch_login_error\', 10, 3);
function _catch_login_error($redir1, $redir2, $wperr_user) {
    $rurl = $_SERVER[\'HTTP_REFERER\'];
    if(!is_wp_error($wperr_user) || !$wperr_user->get_error_code()) return $redir1;
        switch($wperr_user->get_error_code()) {
            case \'incorrect_password\': 
            case \'empty_password\': 
            case \'invalid_username\': 
            default: wp_redirect($rurl); }
        return $redir1;
     }
此代码由提供http://projectivemotion.com/2011/12/16/redirect-failed-login-attempt-wordpress/#comment-653

重定向后我要执行的函数是:

add_action(\'genesis_before_post\', \'force_open_modal_1\');
function force_open_modal_1() { ?>
    <script type="text/javascript">
    jQuery(document).ready(function($){
        $(\'#loginmodal\').reveal();
    });
    </script>
<?php }
这可能吗?

1 个回复
SO网友:iyrin

添加一个nonce 指向重定向url。

参见法典中的示例wp_nonce_url(). 使用wp_verify_nonce() 检查nonce并运行函数以加载模态。

您可能还需要检查is_user_logged_in() 在这种情况下。

结束