Ich habe 2 Autoren und einen Administrator in meinem Blog. Ich verwende den folgenden Code in meiner contributors.php
function contributors() {
global $wpdb;
$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users ORDER BY display_name");
foreach($authors as $author) {
echo the_author_image($author->ID);
echo the_author_meta('display_name', $author->ID) . '</br>' ;
echo the_author_meta('user_url', $author->ID) . '</br>';
echo the_author_meta('description', $author->ID) . '</br>' ;
echo the_author_meta('user_email', $author->ID) . '</br></br>' ;
}
}
contributors();
Es druckt das Foto, den Namen, die Beschreibung und die E-Mail aller Autoren und Administratoren perfekt aus.
der Benutzerlink wird jedoch nicht korrekt gedruckt.
worin besteht das Problem? wie kann ich das lösen
Haben Sie die Datenbank auf die URL des Benutzers überprüft? Vielleicht haben sie das benutzt, um sich zu registrieren.
Was ist mit diesem Szenario -
Sie sollten zuerst ihre URL aus der Datenbank überprüfen. Es befindet sich in der Tabelle wp_users
(ich gehe davon aus, dass Sie das Tabellenpräfix wp_
verwendet haben).
EDIT:
the_author_posts_link()
und the_author_meta('user_url',$userID)
haben unterschiedliche Funktionen.
the_author_posts_link()
display zeigt einen Link zu allen Beiträgen eines Autors an.
the_author_meta('user_url',$userID)
zeigt ihre Homepage-URL an.
Das sind also zwei verschiedene Dinge. Ich denke, Ihre beste Wette ist, Folgendes zu verwenden, um zu ermitteln, was Sie zu erreichen versuchen, anstatt the_author_meta('user_url', $userID)
. Sie können the_author_posts_link
auch nicht verwenden, da es kein Argument benötigt und in The Loop verwendet werden muss:
<a href="<?php echo get_author_posts_url( $author->ID ); ?>"><?php the_author_meta( 'display_name', $author->ID ); ?></a>