1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

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

Dieses Thema im Forum "Allgemeines" wurde erstellt von katharinahermann, 5. Oktober 2015.

  1. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    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
     
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Und deshalb ist die Einschätzung schnell auch falsch. Problemlos ja aber eben nicht schnell. Es soll ja auch noch hübsch sein.
     
  3. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    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.

    bsp.PNG

    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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
     
    #3 katharinahermann, 6. Oktober 2015
    Zuletzt bearbeitet: 6. Oktober 2015
  4. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    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.
     
  5. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Kann es sein, dass Du das mit einem Plugin machst, welches das Ausführen von PHP Code in einem Widget erlaubt?
     
  6. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    ich habe den Aufruf schon gefunden . . .
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ...sprich wenn eins zutrifft, erscheint eine Ausgabe, ebenso geht es ja auch mit !if umgekehrt. Von oben angefangen sieht der Code bisher so aus.....

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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
     
    #6 katharinahermann, 6. Oktober 2015
    Zuletzt bearbeitet: 6. Oktober 2015
  7. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    Ja, ich nutze ein PlugIn was php im Widget erlaubt...besser ich mache das so als für alles ein extra PlugIn zu nutzen.
     
  8. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
  9. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Besser Du schreibst ein Widget, das ist nur minimal mehr Code und dafür hast Du eine massive Sicherheitslücke weniger.
     
  10. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    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
     
  11. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    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...:)
     
  12. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    . . . aber ohne Erfolg, dann wir die Box nirgends mehr angezeigt. hast du dafür noch einen Tip?

    liebe Grüße
    katharina
     
  13. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    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.

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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.
     
  14. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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
     
  15. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Du holst Dir die Adresse via get_the_author_meta('user_email', $author_ID) und packst das Ergebnis in einen mailto: Link.
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!


    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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).
     
  16. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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
     
    #16 katharinahermann, 3. November 2015
    Zuletzt bearbeitet: 3. November 2015
  17. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Gib die Info doch einfach nur dann aus wenn Sie existiert:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  18. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    Vielen lieben Dank, meine Box ist fertig und ich freue mich für jede erhaltene Unterstützung. Anbei ein Bild wie sie aussieht....

    Unbenannt.JPG

    Vielen lieben Dank nochmals,

    Katharina
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden