it-swarm.com.de

the_author_meta ('user_url', $ author-> ID) funktioniert nicht richtig. wie kann ich das lösen

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.

  • für Administrator oder Benutzer-ID 1 wird die Blog-URL gedruckt
  • für 1. Autor oder Benutzer-ID 2 wird die richtige URL gedruckt.
  • für 2. Autor oder Benutzer-ID 3 wird nichts gedruckt.

worin besteht das Problem? wie kann ich das lösen

1
Riffaz Starr

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 -

  • Für den Administrator ist der Standardwert der URL die Blog-URL.
  • Benutzer-ID 2 hat bei der Registrierung eine URL verwendet.
  • Benutzer-ID 3 ließ das URL-Feld bei der Registrierung leer.

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>
2
sakibmoon