用于制作is_user_logged_in()
和current_user_can()
工作中,我找到了类似的答案here (不能评论)比较与此处的答案相匹配,如下所示:
使用define(\'SHORTINIT\', true)
+ require(\'wp-load.php\')
+ 手动包括:
页面加载:1.05 sek - 包含的文件:43 files
比较:使用ONLY require(\'wp-load.php\')
:
页面加载:1.35 sek - 包含的文件:419 files
时间差(0.3瑞典克朗)可能与安装和PHP引擎不同,但在一个页面上验证多个请求时,事情会累加起来/@安娜·埃里克森
使用相对调用WP installed dir是一个好主意。来自Wordpress自定义插件“ROOT”,如:
$wordpress = \'../../../wp-load.php\';
然后在我的插件索引中。php:
define(\'SHORTINIT\', true);
include_once $wordpress;
require_once ( ABSPATH . WPINC . \'/class-wp-user.php\' );
require_once ( ABSPATH . WPINC . \'/class-wp-roles.php\' );
require_once ( ABSPATH . WPINC . \'/class-wp-role.php\' );
require_once ( ABSPATH . WPINC . \'/class-wp-session-tokens.php\' );
require_once ( ABSPATH . WPINC . \'/class-wp-user-meta-session-tokens.php\' );
require_once ( ABSPATH . WPINC . \'/formatting.php\' );
require_once ( ABSPATH . WPINC . \'/capabilities.php\' );
//require_once ( ABSPATH . WPINC . \'/query.php\' ); // - might be useful
require_once ( ABSPATH . WPINC . \'/user.php\' );
require_once ( ABSPATH . WPINC . \'/meta.php\' );
wp_cookie_constants();
require_once ( ABSPATH . WPINC . \'/vars.php\' );
require_once ( ABSPATH . WPINC . \'/kses.php\' );
require_once ( ABSPATH . WPINC . \'/rest-api.php\' );
require_once ( ABSPATH . WPINC . \'/pluggable.php\' );
在此之后,用户验证对我起作用。感谢@Anna Ericson原始代码的最后一句话:
对于其他任务,运行一个或两个请求,跟踪其他需要的文件might not be worth 0.3 sek. 跳过SHORTINIT
恒定和手动杂乱。