Reputation: 11
is_user_logged_in()
function not working in WordPress plugin.
Shows the following error:
Fatal error: Call to undefined function
is_user_logged_in()
in How can I use the logic in WordPress plugin?
Upvotes: 1
Views: 12336
Reputation: 944
is_user_logged_in()
is located in wp-includes/pluggable.php. So please include this file in your plugin file and check.
Upvotes: 10
Reputation: 347
function example_function() {
if ( ! is_user_logged_in() ) {
ajax_auth_init();
}
}
add_action('init', 'example_function');
EDIT:
is_user_logged_in()
is a pluggable function and you could get a fatal error if you call it too early.
You can use this function inside your theme files without any additional code. Like:
<?php if ( is_user_logged_in() ) { ?>
<a href="<?php echo wp_logout_url(); ?>">Logout</a>
<?php } else { ?>
<a href="/wp-login.php" title="Members Area Login" rel="home">Members Area</a>
<?php } ?>
But inside plugin you should wait for wordpress to be loaded.
P.S. Sorry for my english.
Upvotes: 0
Reputation: 154
Try with
$user = wp_get_current_user();
if($user->ID != 0 or $user->ID != null) ...
Upvotes: 1
Reputation: 1293
Plugins are loaded prior to pluggable.php
, which is where is_user_logged_in()
is located. Which means the function doesn't exist yet when you're trying to call it. Instead, do this:
add_action('init', 'ajax_auth_init');
function ajax_auth_init()
{
if(!is_user_logged_in()) return;
// rest of your code
}
Upvotes: 0