web-dev-qa-db-fra.com

Obtenir les utilisateurs post post URL?

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?

2
mr_bythatmuch

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:

3
Borek

@ 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>';
    }
?>
0
Maruti Mohanty