Načtení třídy přihlášeného uživatele do body pomocí AJAX

wordpress

Když používáte pro zobrazení a skrytí prvků na stránce podle toho, jestli jestli je uživatel přihlášený pomocné CSS třídy, tak se Vám může někdy se při přihlašování uživatelů přes front-end stát, že se po přihlášení nenačtou třídy do prvku body. Jednoduchým použitím AJAX můžeme, ale dodatečně ověřit, jestli je uživatel přihlášený a třídu dodatečně doplnit.

V souboru functions.php přidejte pod wp_localize_scripts

'ajax_url' => admin_url('admin-ajax.php'),

A pak tam přidejte akce

function ajax_check_user_logged_in() {
    echo is_user_logged_in()?'yes':'no';
    die();
}
add_action('wp_ajax_is_user_logged_in', 'ajax_check_user_logged_in');
add_action('wp_ajax_nopriv_is_user_logged_in', 'ajax_check_user_logged_in');

A do souboru s jQuery scripty

var data = {
    action: 'is_user_logged_in'
  };

  jQuery.post(theData.ajax_url, data, function (response) {
    if (response == 'yes') {
      if (!$("body").hasClass("logged-in")) {
        $("body").removeClass("logged-out");
        $("body").addClass("logged-in");

      }
    }
  });
Reklama
Crowdsignal
Zobrazeno 63 krát.
%d bloggers like this: