it-swarm.com.de

Aktuelle Benutzer zum Posten der URL auffordern?

Ich habe Foren durchforstet, kann aber keine Lösung dafür finden. Wenn jemand helfen kann, wäre es sehr dankbar! Ich versuche, einen Link zur Autorenseite des aktuellen Benutzers anzuzeigen (alle Benutzer haben Autorenberechtigungen). Ich benutze dies im Moment:

<a href="<?php echo home_url() . '/author/' . get_the_author_meta( 'user_login', wp_get_current_user()->ID ); ?>" >My personal page</a>

Das Problem ist, dass der Autorenlink angezeigt wird, wenn kein Benutzer angemeldet ist. Wie kann ich den Autorenlink nur für angemeldete Benutzer anzeigen?

2
mr_bythatmuch

Wenn Ihr Code ordnungsgemäß funktioniert und das einzige Problem darin besteht, dass er angezeigt wird, wenn niemand angemeldet ist, versuchen Sie es mit dem folgenden Code. Denn im Moment sagst du "Hey WP gib einfach das aus" - so macht es das. Sie müssen es ändern in: "Hey WP wenn der Benutzer angemeldet ist, zeigen Sie den Link zu seiner Seite und wenn nicht, zeigen Sie den Login-Link" so:

<?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>';
    }
?>

Um das Problem mit Benutzernamen mit Leerzeichen zu beheben, können Sie den folgenden Code verwenden:

<?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>';
    }
?>

Referenz:

3
Borek

@ user45381 Sie müssen get_author_posts_url zusammen mit is_user_logged_in verwenden, um die Autorenseite abzurufen .

Hierfür können Sie Folgendes verwenden: -

<?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