J'ai un shortcode qui affiche un bloc de contenu. Est-il possible d'afficher un code HTML différent selon que l'utilisateur est connecté ou non? Ci-dessous est ce que j'ai jusqu'à présent.
function footer_shortcode(){
$siteURL = site_url();
$logoutURL = wp_logout_url(home_url());
echo '
<div class="signin_container">
<h4 class="signin_footer_head">Log In To My Account</h4>
<a href="'.$siteURL.'/login/">Log In</a>
<a href="'.$siteURL.'/register/">Sign Up</a>
</div>
';
}
add_shortcode('footerShortcode', 'footer_shortcode');
Vous pouvez utiliser une balise conditionnelle pour vérifier si l'utilisateur est connecté. Les conditions sont très courantes dans W, je vous conseillerais de lire cette page .
Voici un exemple.
function footer_shortcode(){
if (is_user_logged_in()){
echo '
// Logged In Content
';
}else{
echo '
// Logged Out Content
';
}
}
add_shortcode('footerShortcode', 'footer_shortcode');
Vous recherchez is_user_logged_in()
Voir: https://developer.wordpress.org/reference/functions/is_user_logged_in/
Exemple:
function footer_shortcode(){
$siteURL = site_url();
$logoutURL = wp_logout_url(home_url());
if(is_user_logged_in()) { // user is logged in
echo '
<div class="signin_container">
<h4 class="signin_footer_head">Account Info</h4>
</div>
';
}
else { //user is not logged in
echo '
<div class="signin_container">
<h4 class="signin_footer_head">Log In To My Account</h4>
<a href="'.$siteURL.'/login/">Log In</a>
<a href="'.$siteURL.'/register/">Sign Up</a>
</div>
';
}
}
add_shortcode('footerShortcode', 'footer_shortcode');
Edit: Je vois RiddleMeThis m'a battu au poinçon