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

You must log in to post a comment.