J'ai parcouru des forums, mais je ne trouve pas de solution à ce problème. Si quelqu'un peut aider, ce serait grandement apprécié! J'essaie d'afficher un lien vers la page de l'auteur des utilisateurs actuels (tous les utilisateurs ont les droits d'auteur). J'utilise ceci en ce moment:
<a href="<?php echo home_url() . '/author/' . get_the_author_meta( 'user_login', wp_get_current_user()->ID ); ?>" >My personal page</a>
Le problème, c'est que le lien de l'auteur s'affiche lorsqu'il n'y a aucun utilisateur connecté. Comment puis-je afficher le lien de l'auteur uniquement vers les utilisateurs connectés?
Eh bien, si votre code fonctionne correctement et que le seul problème est qu’il s’affiche lorsque personne n’est connecté, essayez le code ci-dessous. Parce que pour le moment, vous dites "Hey WP juste faire écho à ceci" - alors ça le fait. Vous devez le changer en: "Hey WP si l'utilisateur est connecté, affiche le lien vers sa page et s'il ne montre pas le lien de connexion", comme ceci:
<?php
if ( is_user_logged_in() ) {
echo '<a href="' . home_url() . '/author/' . get_the_author_meta( 'user_login', wp_get_current_user()->ID ) . '"> My personal page</a>';
} else {
echo '<a href="' . wp_login_url() . '" title="Login">Login</a>';
}
?>
Maintenant, pour résoudre le problème des noms d’utilisateur avec des espaces, vous pouvez essayer ce code:
<?php
if ( is_user_logged_in() ) {
global $current_user;
get_currentuserinfo();
echo '<a href="' . get_author_posts_url($current_user->ID) . '"> My personal page</a>';
} else {
echo '<a href="' . wp_login_url() . '" title="Login">Login</a>';
}
?>
Référence:
@ user45381 Vous devez utiliser get_author_posts_url
avec is_user_logged_in
pour récupérer la page des auteurs. .
Vous pouvez utiliser le ci-dessous pour y arriver: -
<?php
if ( is_user_logged_in() ) {
echo '<a href="' . get_author_posts_url( get_current_user_id() ) . '"> My personal page</a>';
} else {
echo '<a href="' . wp_login_url() . '" title="Login">Login</a>';
}
?>