如何在php或WordPress中将一个函数变量用于另一个函数?

时间:2015-10-04 10:27:27

标签: php wordpress

我从 my_ajax_req $ passValue 中存储的ajax请求中检索了一个值。现在我试图在另一个函数 wpsln_log_wp_user_login 中使用变量的值。我已经写了以下代码。但这是徒劳的。我已经搜索过如何做到这一点。这是一个ans。但这不起作用。请帮助我 $ passValue wpsln_log_wp_user_login 中无效。

function my_ajax_req() {
    global $passValue;
    $passValue = $_POST['passVal'];
    die();
}
add_action('wp_ajax_my_req', 'my_ajax_req' );
add_action('wp_ajax_nopriv_my_req', 'my_ajax_req' );

function wpsln_log_wp_user_login( $user_user_login, $user ) {
  global $passValue;
  echo $passValue;

}
add_action( 'wp_login', 'wpsln_log_wp_user_login', '60', 2 );

1 个答案:

答案 0 :(得分:0)

如果全局范围不起作用,请使用会话。正如我在评论中告诉你的那样 我使用die('Call');来检查它是否回显了会话变量所持有的数据。

function my_ajax_req()
{
    session_start();
    $passValue = $_POST['passVal'];
    $_SESSION['passValue'] = $passValue;
    die();
}

add_action('wp_ajax_my_req', 'my_ajax_req');
add_action('wp_ajax_nopriv_my_req', 'my_ajax_req');

function wpsln_log_wp_user_login($user_user_login, $user)
{
    $passValue = $_SESSION['passValue'];
    echo $passValue;
    die('Call'); // Remove die when it works 
    // do your further code here if require.
}

add_action('wp_login', 'wpsln_log_wp_user_login', '60', 2);