LOAD函数WITH LOGIN_REDIRECT

时间:2016-01-03 作者:Picard102

我正在尝试在前端成功登录后加载消息。

我有一个可以发挥作用的脚本,

function myscript() { ?>
<script type="text/javascript">
  $( document ).ready(function() {
    $(\'<div class="item login">Success! You\\\'re now signed in.</div>\').appendTo(\'.pop-notice\').delay(6000).queue(function() { $(this).remove(); });
  });
</script>
<?php }
然后在login\\u重定向时尝试将其加载到页脚中。

function my_login_redirect() {
 add_action( \'wp_footer\', \'myscript\' );
}

add_filter( \'login_redirect\', \'my_login_redirect\', 10, 3 );
但它就是不起作用。但我不知道我应该用什么钩子。

网站是http://dev.podcamptoronto.com/使用社交媒体帐户登录系统,“wordpress社交登录”。但是它使用本机登录函数本身,所以我认为它不会造成干扰。

2 个回复
最合适的回答,由SO网友:Zain Sohail 整理而成

有很多方法可以做到这一点。我的如下所示。。

首先,您可以存储用户登录的时间,以便在X分钟内显示成功登录弹出窗口。。

function store_login_time($user_login, $user) {
    $userID = $user->ID;
    update_user_meta( $userID, \'_login_time_\', time() );
}
add_action(\'wp_login\', \'store_login_time\', 10, 2);
然后使用此代码在网站首页上显示代码X分钟数(在我的示例中为1分钟),使用wp_head 行动

function myscript() {

    $to_time = time();
    $from_time = get_user_meta( get_current_user_id(), \'_login_time_\', true ); 

    $diff = round(abs($to_time - $from_time) / 60,2);

    // This will run till 1 minute after logging in ..
    // For Seconds use 0.1 to 0.9
    if ( is_front_page() && $diff < "1" ){

        ?> 
        <script type="text/javascript">
          $( document ).ready(function() {
            $(\'<div class="item login">Success! You\\\'re now signed in.</div>\').appendTo(\'.pop-notice\').delay(6000).queue(function() { $(this).remove(); });
          });
        </script>
        <?php

    }
}
add_action(\'wp_head\', \'myscript\');
您可以根据需要为用户角色添加更多选项。

SO网友:s_ha_dum

login_redirect 是一个过滤器,所以从技术上讲,你所做的是滥用钩子,但更重要的是,login_redirect 在a之前运行redirect 这将导致新的页面加载。该上下文中的HTTP和PHP是无状态的,这意味着代码不会通过页面加载来填充。

你要做的是通过URL传递一个参数。。。

function my_login_redirect($redirect) {
  return esc_url(add_query_arg(\'lgn\',true,$request));
}
add_filter(\'login_redirect\',\'my_login_redirect\',10);
然后使用该变量直接通过PHP或使用JavaSAcript触发消息。

相关推荐

Redirect Css files to https

在哪里可以找到负责调用Css文件的文件,并测试它们的链接是http还是https?我想测试请求是否为https,如果是,那么很好,如果不是,请将其更改为https在函数中。php我找到了负责调用主题Css的函数,下面是它的代码:if (!function_exists(\'jobcareer_front_scripts\')) { function jobcareer_front_scripts() { global $jobcareer_options;