Für die Experten

  • Hallo php-Freunde,

    ich stehe vor einer neuen Herausforderung in Sachen code, komme aber gerade nicht so richtig weiter. Folgendes:

    Bei jedem login auf meiner Seite, wird das Avatar vom user aus dem simple-forum oben rechts in der "Zentrale" (siehe blog) angezeigt. Wenn jemand keines hat, kommt stattdessen eine Hinweisgrafik. Austesten könnt ihr das mit dem Zugang: Probierer / testtest

    hier der code dazu:

    PHP
    <div class="ava">
    <?php $user_forum_ava = get_usermeta($user_ID,'wp_sfavatar'); ?>
    <?php
    if (!empty($user_forum_ava)) {
         echo("<img src=\"/wp-content/plugins/simple-forum/avatars/".$user_forum_ava."\">\n");
    } else {
         echo("<a href=\"http://www.danieljaeger.de/?page_id=36&amp;profile=user\"><img src=\"http://danieljaeger.de//wp-content/plugins/simple-forum/avatars/userdefault.png\"></a>\n");
    }
    ?>
    </div>

    Nun möchte ich die avtare aber auch gerne in den Kommentaren anzeigen lassen - und zwar nicht nur das vom angemeldeten user, sondern das von dem, der den jeweiligen Kommentar geschrieben hat. Ganz klassisch eben. Da ich plugins auf ein Minimum reduziert halte und lieber code verwende, möchte ich also NICHT auf Fkt. wie Gravatar etc. hingewiesen werden. Diese lines hab ich schon in der comment.php eingefügt, es passiert aber nichts :-( außer das der Rahmen erscheint, ohne Bild, aber auch keine Fehlermeldung!?)

    Was mache ich falsch?

    Vielen Dank schonmal für die Hilfe.

    Doc

    • 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

  • PHP
    <div class="avacom">
    <?php $user_forum_ava = get_comment_author($user_ID,'wp_sfavatar'); ?>
    <?php
    if (!empty($user_forum_ava)) {
         echo("<img src=\"/wp-content/plugins/simple-forum/avatars/".$user_forum_ava."\">\n");
    } else {
         echo("<a href=\"http://www.danieljaeger.de/?page_id=36&amp;profile=user\"><img src=\"http://danieljaeger.de//wp-content/plugins/simple-forum/avatars/userdefault.png\"></a>\n");
    }
    ?></div>


    Hey Doc,

    auf die Schnelle versuche Folgendes. Ersetze den obigen Code mit Folgendem:

    PHP
    [CODE]<div class="avacom">
    <?php global $user_ID; $user_forum_ava = get_usermeta($user_ID,'wp_sfavatar'); ?>
    <?php
    if (!empty($user_forum_ava)) {
         echo("<img src=\"/wp-content/plugins/simple-forum/avatars/".$user_forum_ava."\">\n");
    } else {
         echo("<a href=\"http://www.danieljaeger.de/?page_id=36&amp;profile=user\"><img src=\"http://danieljaeger.de/wp-content/plugins/simple-forum/avatars/userdefault.png\"></a>\n");
    }
    ?></div>[/CODE]

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Klappt auf die Schnelle nicht.

    Es wird nur das "else" Bild bei allen angezeigt. Muss ich die Variablen vorher noch oben "holen"? Kannst ja mal schauen. ist aber ohne Fehler am Laufen.

    Wir sind nah dran, hab ich das Gefühl :-) Immerhin kommt schon ein Bild.

  • Ich sollte von harten Drogen Abstand nehmen. :)

    Folgende Zeile:

    PHP
    <?php $user_forum_ava = get_usermeta($user_ID,'wp_sfavatar'); ?>


    fragt die ID des aktiven eingeloggten Nutzers ab, der den Beitrag anschaut, also bekam man für jeden Kommentar immer den eigenen Ava angezeigt. Klar eigentlich.

    Also einfach umstellen, um die Kommentarautor-ID abzufragen und es funzt:

    PHP
    <?php $user_forum_ava = get_usermeta($comment->user_id,'wp_sfavatar'); ?>


    (Habe das schon gemacht).

    Steine, Tomaten, Harry-Potter-bücher willkommen. :)

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Deinem Forumnamen machst Du alle Ehre :-)

    Ole!

    Sieht doch schick aus jetzte, oder? Und alles ohne Plugins ... mit Deiner Hilfe!

    Obwohl, mein Eigenversuch war auch nicht so übel.

    Doc

Jetzt mitmachen!

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