我是wordpress的新手,正在修改网站上已经存在的代码。我想获取用户的ID,但我还不知道如何获取。以下示例代码适用于我的本地环境,但它仅在生产站点上为用户ID返回0。任何想法都将不胜感激。
<?php
$docroot = "/home/production-site/www";
require_once $docroot . \'/wp-includes/pluggable.php\';
testGetUserid();
function testGetUserid(){
echo \'Before wp_get_current_user <br />\';
$user = wp_get_current_user();
echo \'After wp_get_current_user <br />\';
echo \'ID= \' . $user->ID . \'<br />\';
}
?>
顺便说一句,虽然我不知道这是否相关,但对我来说,似乎有些奇怪的事情可能正在发生
wp-includes/pluggable.php
, 所以我上传了整个php文件
here 让每个人都可以查看该文件。有了这个文件,我不得不
require_once
我的本地环境上的以下文件。
require_once \'capabilities.php\';
require_once \'functions.php\';
require_once \'load.php\';
require_once \'plugin.php\';
require_once \'user.php\';
Env生产站点:WordPress 3.2.1版,其他未知(使用sakura.ne.jp托管服务)
Env local:Ubuntu 11.04、Apache/2.2.17、PHP 5.3.5-1ubuntu7。2带Suhosin补丁(cli)(构建时间:2011年5月2日23:00:17),WordPress版本3.2.1
(2012年6月10日更新)除了大家的建议之外,@shabushabu(多好的名字:)我是日本人)指出了最后一个关键因素-init
钩以下是对我有效的方法:
require( dirname(__FILE__) . \'/../wp-load.php\' ); // Path depends on your file structure, needless to say
:
do_action( \'login_init\' );
: // Whatever you want to do