another fix
if some plugin created dummy wp_user
then original function always return true even anonymouse user
override is_user_logged_in() function at mu_plugins
original at wp-include/pluggable.php
if ( !function_exists('is_user_logged_in') ) :
/**
* Checks if the current visitor is a logged in user.
*
* @since 2.0.0
*
* @return bool True if user is logged in, false if not logged in.
*/
function is_user_logged_in() {
$user = wp_get_current_user();
return $user->exists();
}
endif;
fix_is_user_logged_in.php
<?php
function is_user_logged_in() {
$user = wp_get_current_user();
return $user->ID > 0;
}
?>