Top Kommentierer Link ändern?

  • Ich habe mich mal etwas um gesehen und mir ist auf gefallen, dass man ganz einfach eine Autoren-Seite anlegen kann, das hat auch Super funktioniert, nur jetzt würde ich es auch ganz gerne überall verlinken.

    Ich bin bisher auf 2 Plugins gestoßen, die auf die vom User hinterlegte Domain zugreift. Jetzt würde ich den Link aber ganz gerne wie folgt ändern:
    http://www.domain.de/?author=3

    Die Domain habe ich zu test zwecken einfach mal per Hand eingetippt, mein Problem ist jetzt nur das ich die User ID nicht hin bekomme.

    Hier ist von einem der beiden Plug ins mal der Quellcode:

    Ich habe jetzt einfach mal den Code vom Link in diesen geändert:

    PHP
    echo "<a href='http://www.domain.de/?author=" . $k->comment_user_id . "'>";
               echo ns_substr_ellipse($k->comment_author, $ns_options["name_limit"]);
                  echo "</a>";

    Jetzt würde der link wie folgt aussehen:
    http://www.domain.de/?author=uservorname

    Der Link mit der ID gefällt mir ehrlich gesagt nicht und der link wäre ja so kein Problem nur können Vornamen schon mal die selben sein :mrgreen:
    Vielleicht ist es möglich den Code so um zu schreiben, dass er auf den usernamen verlinkt? aber dazu müsste man sicherlich einiges mehr umschreiben?

    Perfekt wäre natürlich dieser Link http://www.domain.de/user/username.html

    Aber vielleicht kann mir für den Anfang jemand mit der UserID helfen und dem richtigen Code für die Blogurl?

    Wäre sehr Nett :)

    Einmal editiert, zuletzt von kadafiutc (25. März 2008 um 14:34)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hallo Elke,
    ja das würde funktionieren, nur muss ich ja dann im System auch irgendwas umprogrammieren, damit der Link auch erreichbar ist, derzeit funktioniert dieser ja nur mit IDs.
    Ich denke für den Anfang würde es reichen, wenn ich die ID irgendwie da rein bekomme.

  • Sorry, aber ich verstehe im Moment nur Bahnhof.:confused:
    Bitte erkläre, was Du im Moment wie machst und was Du zukünftig haben willst.
    Dann kann ich Dir vielleicht (besser als bisher) weiterhelfen.

    VG Elke

    Es gibt keine dummen Fragen, es gibt nur dumme Antworten...
    http://u-portal.de/

  • Folgendes:
    Derzeit benutze ich ein Plugin, das die Top Kommentierer anzeigt.

    In dem Plugin besteht die Funktion das bei einem Benutzer hinterlegte Domains, direkt in der Sitebar verlinkt werden.
    Ich will aber nicht die Domain des Benutzers verlinken, sondern auf das Profil des Benuters sprich:

    http://www.childx.de/?author=3

    Ich habe schon selber versucht, dass Plugin zu verändern, aber ich kann höchstens den namen des Kommentar Authors im Text anzeigen lassen da die Funktion ja auch schon beim Linknamen (Benutzernamen) vergeben ist und man dieses nur verwenden muss.

    Ich hätte in erster Line gerne die Funktion für die ID eingebaut.

    Was natürlich noch besser wäre, ist, wenn das Profil über folgendes link aufrufbar wäre:
    http://www.childx.de/?author=marcus

    Dann müsste an dem Plugin nichts weiter geändert werden, aber davon habe ich noch weniger Ahnung ^^

  • Das ist nicht richtig. Der Link müsste wie folgt aussehen:

    PHP
    http://www.domain.de/?author=3

    hinter comment_user_id verbirgt sich die ID des Kommentators, nicht der Vorname!

    Hast Du denn mal meinen Vorschlag getestet?
    Wenn ja, was wird ausgegeben?

    Wenn nein:
    Dann ersetze Deinen Code:

    PHP
    echo "<a href='http://www.domain.de/?author=" . $k->comment_user_id . "'>";
               echo ns_substr_ellipse($k->comment_author, $ns_options["name_limit"]);
                  echo "</a>";

    mit meinem:

    PHP
    echo "<a href='http://www.domain.de/author/" . $k->comment_author . "'>";
               echo ns_substr_ellipse($k->comment_author, $ns_options["name_limit"]);
                  echo "</a>"

    M.E. müsste in [COLOR=#000000][COLOR=#cc0000]$k->comment_author [COLOR=black]der Username stehen.

    VG Elke
    [/COLOR][/COLOR][/COLOR]

    Es gibt keine dummen Fragen, es gibt nur dumme Antworten...
    http://u-portal.de/

    Einmal editiert, zuletzt von redcat63 (25. März 2008 um 21:12)

  • Der Code Funktioniert:

    PHP
    echo "<a href='http://www.domain.de/author/" . $k->comment_author . "'>";
               echo ns_substr_ellipse($k->comment_author, $ns_options["name_limit"]);
                  echo "</a>"

    Besser noch ist dieser:

    PHP
    echo "<a href='http://www.domain.de/author/" . $k->comment_author . ".html'>";
               echo ns_substr_ellipse($k->comment_author, $ns_options["name_limit"]);
                  echo "</a>"

    Aber das bringt mich ja nicht weiter, da es dann auf eine Seite verlinkt die nicht exestiert !?
    Wenn ich durch HTACCESS oder so diese http://www.domain.de/?author=4 in diese http://www.domain.de/author/benutzer.html url ändern könnte wäre das ja okay ^^ aber ich hab da nicht viel ahnung von!
    Ich hatte einfach diesen Code als auhtor.php in mein Template gelegt und die diese Seite http://www.domain.de/?author=4 war erreichbar!

    Als Notlösung wäre die ID variante das beste, aber ich denke dann muss man hier was ändern:

    Weil die Funktion $k->comment_user_id eine leere Funktion ist und keine ID übergeben wird.
    So sieht die Ausgabe dann aus:
    http://www.domain.de/?author=

    Vielen Dank trotzdem schonmal!

    Einmal editiert, zuletzt von kadafiutc (25. März 2008 um 22:14)

  • Sind denn alle Deine Kommentatoren registriert?

    Hiermit

    PHP
    <?php 
    if(isset($_GET['author_name'])) :
    $curauth = get_userdatabylogin($author_name); // NOTE: 2.0 bug requires get_userdatabylogin(get_the_author_login());
    else :
    $curauth = get_userdata(intval($author));
    endif;
    ?>

    holst Du Daten aus der Tabelle wp_user/wp_usermeta, nicht aber aus der wp_comments.
    D. h. wenn Deine Kommentatoren nicht registriert sind, dann kannst Du auch max. nur eine leere Seite erhalten.

    Da ich das nicht auswendig weiß (und ich im Moment zu faul zum Suchen bin), schau mal bitte in der DB-Tabelle nach, in welchem Feld der Kommentatorname steht. Suche zusätzlich nach einer Funktion mit der man die Daten des Kommentatoren ermitteln kann.
    Anschließend muss dann der o.g. Code umgeschrieben werden.

    VG Elke

    Es gibt keine dummen Fragen, es gibt nur dumme Antworten...
    http://u-portal.de/

    Einmal editiert, zuletzt von redcat63 (26. März 2008 um 10:32)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!