How to call wordpress is_logged_in function from JavaScript

I want to call this function in JavaScript:

http://codex.wordpress.org/Function_Reference/is_user_logged_in

Read More

But the examples are only with PHP. When that JavaScript function is called I want to check if the user is logged and send a message / redirect if not.

Is there a way to do this?

Related posts

Leave a Reply

2 comments

  1. Add this in your functions.php

    function check_login() {
        $return['loggedin'] = false;  
        if ( is_user_logged_in() ) {
            $return['loggedin'] = true;    
        }
        echo json_encode($return);
        die();
    }
    add_action('wp_ajax_check_login', 'check_login');
    add_action('wp_ajax_nopriv_check_login', 'check_login');
    

    Add this to your custom JS code

    $.ajax({
        url : YOUR_AJAX_URL, // "/wp-admin/admin-ajax.php"
        type : "GET",
        dataType : "json",
        cache : false,
        data : {
            action : 'check_login'
        },
        success : function (json) {
            if (json.loggedin) {
                alert("Loggedin");
            }
        }
    });
    
  2. You can wrap javascript code in between php code like below

    <script>
    $('#checkLogin').click(function() {
        <?php if (!is_user_logged_in()): ?>
        alert('Please login to access this page');
        location = 'http://www.example.com';
        <?php else: ?>
        alert('You are logged in');
        <?php endif; ?>
    });
    </script>