Kommentar Webseitenurl setzen, wenn angegeben?

  • Hallo,
    ich möchte ein "WWW" Bild neben dem Autor nur dann mit der Webseite verlinken, wenn auch wirklich eine eigne URL angegeben wurde.

    Dies habe ich mit

    PHP
    if(!empty(get_comment_author_url()))
    {
        [...]
    }

    versucht. Jedoch werden dann keine Kommentare mehr angezeigt. Obwohl in der Doku steht:

    http://codex.wordpress.org/Template_Tags/comment_author_url

    Zitat

    The tag get_comment_author_url returns an empty string in this case.

    Wie könnte man das denn sonst lösen?

    Danke!

    • 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

  • Das wird schon richtig sein mit der Funktion, denke ich. Vielleicht hast Du Dich da nur irgendwie vertan damit? Klammerfehler oder so?! Poste ggf. doch mal den ganzen Kommentar-Loop.

  • Hallo,
    an einem Klammerfehler oder allgemein Fehler in der Programmierung an sich liegt es nicht. Das habe ich schon überprüft. Ein weiterer Beweis dafür, dass es kein sonstiger Fehler im Loop ist, ist die Tatsache, dass die Kommentare angezeigt werden, wenn ich

    PHP
    !empty(get_comment_author_url())

    [COLOR=#000000][COLOR=#006600]

    [FONT=Arial][COLOR=Black]in der If-Abfrage auf 1 (true) setze.

    Danke
    [/COLOR][/FONT][/COLOR][/COLOR]

  • Hallo,
    an einem Klammerfehler oder allgemein Fehler in der Programmierung an sich liegt es nicht. Das habe ich schon überprüft. Ein weiterer Beweis dafür, dass es kein sonstiger Fehler im Loop ist, ist die Tatsache, dass die Kommentare angezeigt werden, wenn ich

    PHP
    !empty(get_comment_author_url())

    [COLOR=#000000][COLOR=#006600]

    [FONT=Arial][COLOR=Black]in der If-Abfrage auf 1 (true) setze.

    Danke
    [/COLOR][/FONT][/COLOR][/COLOR]

    1. Gibt es mind. eine hinterlegte URL?
    2. Zeigst Du die Kommentare im if () {} Teil an?
    3. Wenn Du Hilfe möchtest, warum postest Du den Loop nicht, wenn Du schon darum gebeten wirst? Meine Glaskugel ist gerade in Wartung.

    P.S.: nach Deinen beiden Artikel würde ich auf 1. Ja, und 2. ja tippen.

    P.p.S: Hast Du schon den Vergleich auf "" statt empty() probiert?

  • Hallo,

    In der IF Bedingung muss halt im Zusammenspiel mit einer Wordpressfunktion geprüft werden, ob ein Backlink vorhanden ist oder nicht. Nur welche Funktion ist die Richtige?

    Zitat

    if(1) //<= Notlösung ....

    Ich war nicht am passenden Rechner für den Datenzugriff. Hier nun der Loop:

    Zitat

    1. Gibt es mind. eine hinterlegte URL?

    Wie meinst du das?


    Danke!

  • Also wenn ich mir den Code so anschaue sieht das immer noch alles richtig aus. Gib doch mal mit echo aus, was Dir get_comment_author_url zurückliefert. Vielleicht sieht man dann ja, woran es hakt. Einfach per echo in einen HTML-Komentar ausgeben zum Beispiel.

    Und was mostho meinte (denke ich): Du bist sicher, dass die Nutzer auch URLs gespeichert haben an den Kommentaren?

  • Hmm, komisch bei http://codex.wordpress.org/Template_Tags/…ment_author_url heisst es

    Zitat

    Returns the comment author's URL (usually their web site), not linked. This tag must be within The Loop, or a comment loop.

    If the author provided no URL, this will return the URL of the current page instead.

    Widersprüchliche Doku?!

    Und da (http://gluehwein.junkies.ws/2007/06/20/gra…ommentarbilder/) gibts ein Beispiel, denke ich.

  • Hallo,

    PHP
    if(get_comment_author_url())

    so funktioniert es tatsächlich. Da ich jedoch wissen wollte was die Funktion zurückgibt habe ich mir das ausgeben lassen:

    PHP
    echo "|";
    print_r(get_comment_author_url());
    echo "|";

    Wenn eine URL angegeben ist kommt diese wie erwartet zwischen den || wenn jedoch keine URL angegeben ist kommt:

    Zitat

    ||

    (Ohne Leerzeichen)

    Bei keinem Wert dürfte !empty kein true zurückgeben o.O.

    Zitat

    Widersprüchliche Doku?!

    Das habe ich auch schon gesehen, hatte es jedoch noch nicht angesprochen um nicht unnötig zu verwirren. Hätte es natürlich noch zum Schluss gesagt ;).

    Danke für eure Hilfe!


  • Bei keinem Wert dürfte !empty kein true zurückgeben o.O.


    Was ist damit ( http://php.net/manual/de/function.empty.php )?

    Zitat

    Hinweis: empty() überprüft nur Variablen, alles andere führt zu einem Parse-Error. Anders gesagt wird folgendes nicht funktionieren: empty(trim($name)).

    Bin ja nicht der php Spezialist, aber sagt das nicht gerade, dass empty(get_comment_authorurl()) nicht funktionieren wird?

Jetzt mitmachen!

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