Hilfe für ein php Textschnipsel gesucht für eine Textwidget Authorenbox

  • Hallo liebe Community,

    kann mir vielleicht jemand helfen für meine Sidebar ein individuelles Textfeld über den Widget in php zu gestalten das aus den Seiten und den Beiträgen die Autoreninformation übernommen werden und anzeigt werden? Ähnlich wie t3n.de oben rechts hätte ich gerne eine kleine Autorenbox individuell gestaltet, alle angebotenen PlugIns sind zu umständlich, nicht ausgereift genug oder unpassend. Ich denke über den TextWidget mit php, sollte mein Wunsch für die Autorenangaben (Avatar, Name, Datum, Socials, Druckfunktion, Anzahl der erstellten Artikel und Mailkontakt) schnell und problemlos umsetzbar sein, leider kann ich kein php programmieren.

    Meine Laienhaften Tests waren schon erfolgreich und ich konnte den Namen per echo abfragen und auch angezeigt bekommen über den TextWidget in der Sidebar nur ohne Link zum Namen um alle Beiträge angezeigt zu bekommen, aber mehr habe ich nicht hinbekommen, zumal die Box auch formatiert werden muss um in´s Layout zu passen.

    Wie das angeführte Beispiel von t3n was übersichtlich, sehr funktional gestaltet und auch ausreichend ist.

    Liebe Grüße
    Katharina

    • 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

  • schnell und problemlos umsetzbar sein, leider kann ich kein php programmieren.

    Und deshalb ist die Einschätzung schnell auch falsch. Problemlos ja aber eben nicht schnell. Es soll ja auch noch hübsch sein.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Es soll ja auch noch hübsch sein.

    So weit habe ich alles geschafft, ich verzweifel nur noch an den Abfragen für die Daten die beim Profil hinterlegt sind, Google, Twitter, Facebook usw. Ich weiß beim besten Willen nicht wie ich die Abfragen in mein php-schnipsel rein bekomme. Ich weiß eben nicht was ich abfragen soll.

    Die fertigen Teile sind so weit in Ordnung, da konnte ich auf die Template eigene php-Datei zurückgreifen und habe die Abfragen und befehle entdeckt und in mein textWidget übernommen, mit HTML aufgehübscht und es funktioniert, siehe Bild.

    Wie gesagt fehlen jetzt noch die Abfragen für die im profil hinterlegten Daten für die Kontaktaufnahme via Mail und socials die neben den Kontakt auftauchen sollen und korrekt für jeden Autor verlinkt sein sollen. Diese Links sollen wie der Name und der Avatar aus der Profilangabe von WP sein. Die Codes für den Namen usw. habe ich gefunden "siehe ersten Code unten" und auch erfolgreich eingepflegt in mein Sidebar TextWidget.

    Als Beispiel für den Namen etc. habe ich

    PHP
    <div class="author-box-avatar"><a href="<?php echo esc_url(get_author_posts_url($author_ID)); ?>"><?php echo get_avatar($author_ID, 100); ?></a></div>

    genutzt und so weiter mit Namen, link´s zu den Post´s des Autors usw.

    Habt Ihr einen Tip für mich wie ich die Abfrage nennen muss um an z.Bsp. Google+ zu verlinken aus dem Profil des Autors? Statt wie für den Avatar aus dem profil

    PHP
    <?php echo esc_url(get_author_posts_url($author_ID)); ?>"><?php echo get_avatar($author_ID, 100); ?>

    sollte nunmehr ein befehl für die G+ Angabe aus dem profil erfolgen, wie nennt sich diese? Dann probier ich das durch, oder kann jemand alle sagen die genutzt werden? Twitter, Facebook, Google, Xing, email....wäre toll wenn jemand ein Tip hat. :)

    Liebe Grüße
    Katharina

    Einmal editiert, zuletzt von katharinahermann (6. Oktober 2015 um 04:43)

  • das ist problematisch
    die Angabe von diesen Social Accounts ist nicht WP Standard
    d.h. entweder macht dies das verwendete Theme oder ein Plugin
    und wie die das "benannt" haben, dass du es aufrufen kannst, kann "unendlich" sein.

  • Kann es sein, dass Du das mit einem Plugin machst, welches das Ausführen von PHP Code in einem Widget erlaubt?

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • das ist problematisch . . . kann "unendlich" sein.

    ich habe den Aufruf schon gefunden . . .

    PHP
    <a href="<?php echo the_author_meta('googleplus'); ?>" target="_bla. . .

    Funktioniert auch bei allen Autoren ganz gut, leider ist das problem, wenn ein Autor kein Twitter nutzt, erscheint dennnoch ein "Linkloses" Element,in dem Fall der Vogel. Nunmehr dreht sich das Problem darum wie ich die echo Ausgabe an Tatsachen binden kann, sprich, einer hat kein Twitter, dann soll auch nicht der Vogel angezeigt werden.

    Hat jemand eine Idee wie ich per if Abfrage oder Befehl die Echo-Ausgaben (Twitter, Facebook, Google+, Webseite, etc.) abfragen kann ob ein Eintrag existiert und den nur ausgibt wenn einer existiert?

    Ich meine für meine Autorenabfrage verwende ich auch eine if Abfrage....siehe....

    PHP
    <?php if (is_singular () || get_the_author_meta('description', $author_ID)) { ?> (Hier fehlt mir noch ein "Seiten ausschließen Element für 3 Seiten, wenn einer weiß wie, bitte helfen...:)

    ...sprich wenn eins zutrifft, erscheint eine Ausgabe, ebenso geht es ja auch mit !if umgekehrt. Von oben angefangen sieht der Code bisher so aus.....

    In Zeile 5 ist der Name von der Themenklasse mit enthalten und die Klassen sind alle definiert. Die ersten Versuche mit Google+ werfen den hinterlegten Link´s je Author richtig aus, aber wenn einer kein Google+ hat, erscheint das G+ von "FontAwesome (fa fa-google-plus fa-2x)" dennoch mit einem leeren Link zur Seite auf der ich gerade bin...Das ist nunmehr noch ein problem mit dem ich kämpfe.

    Über Lösungsansätze wäre ich dankbar ohne in die funktions...php`s einzugreifen oder PlugIn´s zu nutzen...es muss auch so gehen das nur ein Textfeld von den Widgets für die Sidebar genutzt werden kann und der code somit flexibel und nach bedarf geändert oder angepasst werden kann ohne Themenänderungen oder WP-Änderungen.

    LG
    Katharina

    Einmal editiert, zuletzt von katharinahermann (6. Oktober 2015 um 09:40)

  • wenn du keine leeren html Tags haben magst, musst du vorher "Fragen" => gibts dich überhaupt:-)

    hier eine Möglichkeit dazu


    http://wordpress.stackexchange.com/a/102418

  • Ja, ich nutze ein PlugIn was php im Widget erlaubt...besser ich mache das so als für alles ein extra PlugIn zu nutzen.

    Besser Du schreibst ein Widget, das ist nur minimal mehr Code und dafür hast Du eine massive Sicherheitslücke weniger.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • wenn du keine leeren html Tags haben magst, musst du vorher "Fragen" => gibts dich überhaupt:-)....

    Das schaue ich mir gleich mal an, sieht auf den ersten Blick für einen Laien gut aus, aber ich muss rumfummeln und probierennnein RIESEN....Danke erst einmal...ich sag dann Bescheid ob es geklappt hat...:)

    Danke Monika

  • Besser Du schreibst ein Widget, das ist nur minimal mehr Code und dafür hast Du eine massive Sicherheitslücke weniger.

    Dazu reichen meine kenntnisse leider nicht aus und ein Widget ist bestimmt mehr als nur ein paar odezeilen, so bleibt es flixibel, kann beliebig an das Theme angepasst werden und braucht nur im css geändert werden da die Funktionen ja gleich bleiben. Für ein Widget ist das nicht ausreichend mit meinen rumgeschnipsel..:)

    Danke dir dennoch für den Tip, vielleicht werde ich ja mal klüger und trau mich mehr...:)

  • ...hier eine Möglichkeit dazu http://wordpress.stackexchange.com/a/102418

    Monika, du bist ein Engel, es klappt so wie es soll. Freu***

    Supi Danke...Gleich noch eine Frage im Anschluß....Die Autorenbox soll ja überall ausser auf der Startseite angezeigt werden, darum ja auch der Code . . .

    PHP
    <?php if (is_singular () || get_the_author_meta('description', $author_ID)) { ?>

    Auf den Impressumsseiten und/oder Datenschutz etc. will ich aber keine Autorenbox haben....ich habe gesehen das ich mit array was anfangen kann, leider haben alle Versuche fehlgeschlagen, sprich ich versuchte . . .

    PHP
    <?php if (is_singular (array('2,6,18')) || get_the_author_meta('description', $author_ID)) { ?>

    . . . aber ohne Erfolg, dann wir die Box nirgends mehr angezeigt. hast du dafür noch einen Tip?

    liebe Grüße
    katharina

  • und ein Widget ist bestimmt mehr als nur ein paar odezeilen, so bleibt es flixibel,

    Warum sind Laien eigentlich immer so schlau mit ihren Aussagen wenn sie zwei Sätze vorher zugeben keine Ahnung zu haben? Deine Lösung ist eben NICHT flexibel weil sie an ein Plugin gebunden ist, welches zudem eine massive Sicherheitslücke schafft, da es nun möglich ist PHP Code in die Datenbank einzufügen und diesen bei jedem Aufruf eines Widget auszuführen.

    Hier ist Dein Code als Widget: 11 Zeilen Code mehr.

    Der Code kommt in die functions.php Deines Childthemes und das neue Widget kannst Du überall verwenden. Das PHP Widget "Teufelszeug" kann dann raus.

    Deine HTML Ausgaben habe ich nicht verbessert, das darfst Du selbst machen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • ...da es nun möglich ist PHP Code in die Datenbank einzufügen und diesen bei jedem Aufruf eines Widget auszuführen.

    Das wusste ich nicht, warum wird das PlugIn dann angeboten wenn es Sicherheitslücken schafft? Naja...liegt ja nicht an dir, ich bin froh das du mich gewarnt hast vor dem PlugIn das es so gefährlich ist.

    Ich versuche dein Code anzupassen und einzupflegen und lösche das php PlugIn...meine Seite ist ja noch nicht online, also noch im wartungsmodus und nicht öffentlich zugänglich, vielleicht hat mich das ja vor Schäden bewahrt. :) Danke dir für die Information.

    Kann ich dir als Profi noch zwei Fragen stellen?

    1.) In dem Benutzerprofilen sind ja die emailadressen hinterlegt, wie kann ich die in dieser Autorenbox ansprechen das quasi beim Klick auf den Briefumschlag eine Reaktion auf die entsprechende eMailadresse des benutzers erfolgt?

    2.) Wie kann ich bestimmte Seiten anhand der ID von der Abfrageregel ...

    PHP
    <?php if (is_singular () || get_the_author_meta('description', $author_ID)) { ?>

    aus lassen das dort keine Autorenbox angezeigt wird?

    Liebe Grüße und vielen Dank, ich setz das gleich mal um und schau mal wie es funktioniert. :)
    Katharina


  • 1.) In dem Benutzerprofilen sind ja die emailadressen hinterlegt, wie kann ich die in dieser Autorenbox ansprechen das quasi beim Klick auf den Briefumschlag eine Reaktion auf die entsprechende eMailadresse des benutzers erfolgt?

    Du holst Dir die Adresse via [COLOR=#333333]get_the_author_meta('user_email', $author_ID) und packst das Ergebnis in einen mailto: Link.

    Code
    [/COLOR]echo '<a href="mailto:' . get_the_author_meta( 'user_email', $author_ID ) . '">' . get_the_author_meta( 'display_name', $author_ID ) . '</a>';[COLOR=#333333]

    [/COLOR]


    2.) Wie kann ich bestimmte Seiten anhand der ID von der Abfrageregel aus lassen das dort keine Autorenbox angezeigt wird?

    Code
    if( is_singular() && ( !is_single( array( 37 ) ) && !is_page( array( 23 ) ) ) ) {

    Würde ich aber nur dann machen, wenn die IDs für auszuschließende Beiträge und Seiten nicht laufen geändert werden müssen. Sonst einfach ein Plugin zur konditionalen Anzeige verwenden, wie z.B. https://de.wordpress.org/plugins/dynamic-widgets/ oder https://wordpress.org/plugins/widget-logic/. Oder in das nun vorhanden Widget diese Logic einbauen (das ist dann aber tatsächlich etwas mehr Code).

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Hallo an alle Helfer,

    erst einmal vielen Dank für die Feedbacks.

    So weit ist bis jetzt alles fertig und es funktioniert gut. Einziges Problem ist das alles angezeigt wird was im Benutzerprofil verfügbar ist. Sprich, wenn der eine Benutzer einen facebook Link hat und der andere nicht, wird bei beiden dennoch das Symbol für Facebook angezeigt. Bei dem Benutzer wo ein facebook Link hinterlegt ist, soll es ja angezeigt werden , wenn aber ein benutzer im WP Profil keinen Facebook link hat, dann soll das Symbol auch nicht erscheinen.

    hat jemand einen rat wie das gelöst wird mittels if Abfrage oder so?

    Der jetzige Code sieht so aus (Bsp. Facebook bei Autorenbox)

    HTML
    <a class="author-box-logo-facebook" href="<?php echo get_the_author_meta('facebook'); ?>" target="_blank" title="Like Me"><span class="fa fa-facebook fa"></span></a>

    Das Symbol wird wie gesagt dennoch bei allen Benutzern ausgegeben, es soll aber nur ausgegeben werden wenn der benutzer auch einen Link zu Facebook angegeben hat, nicht wenn das Feld leer ist.

    Es handelt sich dabei um die Benutzerinformationen die im WordPress hinterlegt sind die alle soweit richtig abgefragt werden und auch angezeigt werden. Wie gesagt, Problematisch ist nur das auch nicht ausgefüllte Felder wie "Google, FB etc." dennoch beim Autor als Symbol angezeigt werden was nicht sein soll, nur wenn der benutzer einen Link angegeben hat soll das Symbol mit Link ausgegeben werden.

    Liebe Grüße
    Katja

    Einmal editiert, zuletzt von katharinahermann (3. November 2015 um 13:35)

  • Gib die Info doch einfach nur dann aus wenn Sie existiert:

    PHP
    <?php if( get_the_author_meta('facebook') ) : ?>
    <a class="author-box-logo-facebook" href="<?php echo get_the_author_meta('facebook'); ?>" target="_blank" title="Like Me"><span class="fa fa-facebook fa"></span></a>
    <?php endif; ?>

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

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