获取当前用户电子邮件作为返回字符串值

时间:2015-05-22 作者:Roy

if(strpos($query, \'%get_email%\') !== false){
        $query = str_replace(\'%get_email%\',  get_the_author_meta( \'user_email\' ), $query);
    }
好的,我正在尝试进行MySQL查询,并在插件中尝试添加一个短代码%get_email% 但无论如何,它不会在实际查询中返回任何电子邮件。

喜欢select* from tablename where email=\'%get_email%\';

你知道怎么做吗?

以下是id的工作原理-

    if(strpos($query, \'%CURRENT_USER_ID%\') !== false){
        $query = str_replace(\'%CURRENT_USER_ID%\', get_current_user_id(), $query);
    }

4 个回复
SO网友:Mile Milosheski

我会这样做:

global $current_user;
get_currentuserinfo();

$email = (string) $current_user->user_email;
var_dump($email);
您刚刚调用了从当前用户数组获取的电子邮件,并将其转换为字符串:)就是这样

SO网友:Mohammad Mursaleen

如果您只需要“将当前用户电子邮件作为返回字符串值获取”,那么您只需使用以下函数即可完成此操作

// Add this function in your functions.php or in your plugin
function mm_get_current_user_email(){
    global $current_user;
    get_currentuserinfo();

    $email = $current_user->user_email; 

    return $email;  
} 
add_shortcode( \'get_email\', \'mm_get_current_user_email\');
然后,只要使用[get_email]<?php echo do_shortcode( \'[get_email]\' ); ?>

有关详细信息get_currentuserinfo() visit WordPress Codex.

SO网友:Yusuf Odukoya

下载/安装PHPCode Snippets WordPress插件,然后用这个内容创建一个短代码(如下所示);

<?php
$current_user = wp_get_current_user();
echo $current_user->user_email;

SO网友:iranimij

英里响应正常,但无需调用额外函数。您可以这样使用:

global $current_user;

$email = $current_user->user_email;

结束