我在这里使用了本教程(https://codex.wordpress.org/Integrating_WordPress_with_Your_Website) 作为设置非wordpress页面以访问非wordpress页面上某些wordpress资源的指南。例如,我可以在非wordpress页面上查看带有以下代码片段的帖子。
<?php
require(\'/the/path/to/your/wp-blog-header.php\');
?>
<?php
$posts = get_posts(\'numberposts=10&order=ASC&orderby=post_title\');
foreach ($posts as $post) : setup_postdata( $post ); ?>
<?php the_date(); echo "<br />"; ?>
<?php the_title(); ?>
<?php the_excerpt(); ?>
<?php
endforeach;
?>
此外,我需要能够检测用户是否在非wordpress页面上登录wordpress。我使用以下代码:
if(is_user_logged_in()){
$current_user = wp_get_current_user();
/**
* @example Safe usage: $current_user = wp_get_current_user();
* if ( !($current_user instanceof WP_User) )
* return;
*/
echo \'Username: \' . $current_user->user_login . \'<br />\';
echo \'User email: \' . $current_user->user_email . \'<br />\';
echo \'User first name: \' . $current_user->user_firstname . \'<br />\';
echo \'User last name: \' . $current_user->user_lastname . \'<br />\';
echo \'User display name: \' . $current_user->display_name . \'<br />\';
echo \'User ID: \' . $current_user->ID . \'<br />\';
echo get_avatar( $current_user->user_email, 32 ). \'<br />\';
echo \'<hr />\';
}
else{
echo \'Not logged-in\';
}
尽管我登录了wordpress,但当我导航到非wordpress页面时,我会看到wordpress帖子列表,但is\\u user\\u logged\\u in()函数返回false并打印“Not logged in”!!!
这里推荐什么(Wordpress check if user is logged in from non wordpress page) 不起作用,并给出相同的错误。
为什么会这样,还是我遗漏了什么?我需要指导来解决这个问题。