2012-01-04 192 views
2

我搜索了堆栈溢出网站以获得正确的答案(的作品),但遗憾的是没有什么工作......获取当前用户名

这是一个简单的问题,我只需要输出当前用户的用户名!

我发现了一个计算器代码如下:

<?php 
$user_id = get_current_user_id(); 
echo "ID User : ".$user_id ; 
if ($user_id == 0) { 
    echo 'You are currently not logged in.'; 
} else { 
    echo 'You are logged in as user '.$user_id; 
} 
?> 

^^发现在这个网站上

当我这样做,我得到一个错误:

Fatal error: Call to undefined function get_current_user_id() in /home/heal/public_html/mysite.com/index.php on line 14

我'm using wordpress version 3.3.1

+2

你试过这个之前加载了wordpress库吗?仅仅因为安装了wordpress并不意味着你可以在任何joe-random PHP脚本中开始调用WP函数。 – 2012-01-04 18:48:15

+0

你在代码中的哪个位置尝试添加这个snippit?有必要的wp库在它之前被加载?尝试提供整个脚本,这可以更容易地弄清楚。 – 2012-01-04 18:51:21

回答

2

At http://codex.wordpress.org/Function_Reference/get_currentuserinfo

这表明,你正在寻找$current_user->user_login

其默认的例子是:

<?php global $current_user; 
    get_currentuserinfo(); 

    echo 'Username: ' . $current_user->user_login . "\n"; 
    echo 'User email: ' . $current_user->user_email . "\n"; 
    echo 'User first name: ' . $current_user->user_firstname . "\n"; 
    echo 'User last name: ' . $current_user->user_lastname . "\n"; 
    echo 'User display name: ' . $current_user->display_name . "\n"; 
    echo 'User ID: ' . $current_user->ID . "\n"; 
?> 

我必须承认,虽然,如果你得到Call to undefined function get_current_user_id()那么它更有可能的是WordPress是安装不正确或者这种性质的东西。

我想知道你为什么编辑index.php - > wordpress为你做了前端的东西,也许你应该看看主题。

+0

我再次得到同样的错误....他不认识那个功能! :( 致命错误:调用未定义的函数get_currentuserinfo()在/home/heal/public_html/mysite.com/index.php在第16行 – user1130577 2012-01-04 19:01:04

+0

好吧,你为什么要编辑index.php? - 看起来可能是某种东西做与主题... – jcuenod 2012-01-04 19:05:14

+0

我正在index2.php,我改变了你们的名字:p 不编辑index.php或我会毁了一切:p – user1130577 2012-01-04 19:10:15

5

我认为你需要访问全局变量,因此你需要在你的新页面加载wordpress。

if (!defined('__DIR__')) define('__DIR__', dirname(__FILE__)); //getting current directory using magic constants __DIR__ is deprecated in php 5.3.+ 
$path = explode('wp-content',__DIR__); //getting main web root path for including further files. 
include_once($path[0].'wp-load.php'); //for getting global variables like wpdb 
    global $current_user; 

    echo $current_user->user_login; 

添加上面后,您现在可以访问全局变量。 user_login将打印用户名。我希望这可以帮助你。我同意@ j3frea。在这里,我向你展示了我试图实现插件的提示,所以我使用'wp-content'对其进行了分解。

+0

惊讶...... – Kamal 2012-01-05 06:03:05

+0

正是w我想要.... – user1589754 2014-04-27 16:34:37