• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Simplify

Simplify

Wordpress Development

  • Blog
  • Form Examples
  • Contact Us

WordPress Get Logged In User Info for Front End

Objective

Get logged in user information to use in javascript.

  • In order to use user information on the front end with Javascript or jQuery, you can use wp_localize_script
  • wp_localize_script creates a Javascript object that can be accessed by javascript.
    • function: wp_localize_script($handle, $nameOfObject, $dataStoredInObject)
    • $handle: script handle the data will be attached to
    • $nameOfObject: Name of Javascript Object
    • $dataStoredInObject: single or multi-dimensional array
    • Reference

Step 1: How to include wp_localize_script in a plugin

<?php

/**
 * Plugin Name: Bliksem Sandbox Plugin
 * Version: 1.0.0
 * Description: Sandbox development for
 * Author: Andre Nell
 * Author URI: http://www.simplifysmallbiz.com/
 *
 *
 * @package Bliksem
 * @author Andre Nell
 * @since 1.0.0
 */

if (!function_exists('get_option')) {
  header('HTTP/1.0 403 Forbidden');
  die; // Silence is golden, direct call is prohibited
}

// DEFINE CONSTANTS
define('BS_NAME_VERSION', '1.0.1');
define('BS_NAME_PLUGIN_URL', plugin_dir_url(__FILE__));

// IMPLEMENTATION
function bs_enqueue_bs_frontend_scripts()
{
    global $current_user;
    $current_user = wp_get_current_user(); 
    
    wp_register_script('bs-sandbox-js', BS_NAME_PLUGIN_URL . 'js/sandbox.js', array('jquery'), '1.0.0', true);
    wp_enqueue_script('bs-sandbox-js');

    wp_localize_script('bs-sandbox-js', 'theUser', array(
        'roles' => $current_user->roles,
    ));

}
add_action('wp_enqueue_scripts', 'bs_enqueue_bs_frontend_scripts');

Step2: How to access the data stored in the Javascript Object created in Step 1

jQuery(window).load(function ($) {
    var user_roles = theUser.roles;
    console.log(user_roles);
    if (jQuery.inArray("Subscriber", user_roles)) {
        console.log("is in array");
    } else {
        console.log("is NOT in array");
    }
});

Filed Under: User Functionality, WordPress Development May 2, 2023 Leave a Comment

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Categories

  • Affinipay
  • ApproveMe.com
  • Caching
  • Development
  • Genesis Framework
  • GIT
  • Gravity Forms
  • Gravityflow
  • GravityView
  • HubSpot
  • IDE's
  • Integrations
  • Javascript
  • LegalSigning
  • MemberPress
  • Oncehub
  • PHP Storm
  • SiteGround Management
  • Slack
  • Stripe
  • Stripe
  • Testing
  • Troubleshooting
  • Uncategorized
  • User Functionality
  • Visual Code
  • Web Development
  • Website Maintenance
  • WordPress Development
  • WP Webhook Pro

Footer

Design

With an emphasis on typography, white space, and mobile-optimized design, your website will look absolutely breathtaking.

Learn more about design.

Content

Our team will teach you the art of writing audience-focused content that will help you achieve the success you truly deserve.

Learn more about content.

Strategy

We help creative entrepreneurs build their digital business by focusing on three key elements of a successful online platform.

Learn more about strategy.

Copyright © 2023 · Genesis Sample on Genesis Framework · WordPress · Log in