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

WP 5.1 Feed-Icon ins Meta-Widget einbinden

Dieses Thema im Forum "Design" wurde erstellt von zonebattler, 10. Mai 2019.

  1. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    314
    Zustimmungen:
    7
    Hallo zusammen,

    ich habe in der Sidebar meines Testblogs

    https://www.klein-aber-fein.de/labor/

    das Meta-Widget eingebunden, welches bei mir mit "Service" überschrieben ist. Ich habe es etwas modifiziert, indem ich in der zuständigen Datei class-wp-widget-meta.php die Zeile mit dem Link zu WordPress.org rausgeworfen sowie den beiden Zeilen mit den RSS-Feeds das Feed-Icon vorangestellt habe, welches sich ja stets im Ordner wp-includes/images findet. Im konkreten Fall habe ich also das Bild von

    https://www.klein-aber-fein.de/labor/wp-includes/images/rss.png

    geholt und vor die Feed-Links gestellt. Soweit, so funktionierend, aber auch so unelegant: Ich will das gleiche nämlich in einem Dutzend weiterer WordPressen genauso handhaben! Um aber die Widget-Datei nicht x mal individuell anpassen zu müssen, würde ich den Pfad zum Bild nämlich am liebsten relativ (per Variable) angeben, also nicht mit hardcodierter Domainangabe im Pfad.

    Dass das prinzipiell funktioniert, zeigen die vier Feeds weiter unten in meiner Sidebar, die ich mit dem Standard-RSS-Widget realisiert habe. Dafür ist die Datei class-wp-widget-rss.php zuständig, und in der scheint mir (ab Zeile 87) der Pfad aus der jeweiligen Blog-URL + 'images/rss.png' zusammengebastelt zu werden. Und zack, steht vorneweg das Feed-Icon.

    Diese Variablendefinition würde ich nun gerne von der class-wp-widget-rss.php in die class-wp-widget-meta.php übertragen, damit die dort das Gleiche bewirkt, also das in der eigenen Installation vorhandene Feed-Icon einlendet. Nur verstehe ich leider zu wenig von PHP, um das funktionierend hinzubekommen. Wer kann mir da einen guten Tipp geben? Wo genau gehört was hin?

    P.S.: Mir ist durchaus bewußt, daß die generelle Sinnhaftigkeit des Meta-Widgets ebenso umstritten ist wie benutzerseitige Änderungen in Core-Dateien, die nach jedem Update erneut vorzunehmen sind. Dennoch würde ich gerne den von mir skizzierten Lösungsweg gehen...

    Vielen Dank und beste Grüße,
    Ralph
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.269
    Zustimmungen:
    558
    Warum verwendest Du nicht einfach etwas Design > Customizer > Zusätzliches CSS in etwa so?
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    zonebattler gefällt das.
  3. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    314
    Zustimmungen:
    7
    Warum ich das nicht so gemacht habe? Na weil ich erstens gar nicht auf die Idee gekommen bin, das per CSS zu lösen, und weil zweitens meine CSS-Kenntnisse dafür auch nicht ausgereicht hätten... :confused:

    Ist aber eine tolle Eingebung, die auch bestens funktioniert, vielen Dank dafür! Ich hab' sogar noch etwas dazugelernt, weil ich auf inhaltlich abgeschlossenen Sites wie

    https://www.klein-aber-fein.de/lgb/

    nicht nur die letzte Zeile des Meta-Widgets, sondern auch die beiden Feeds darüber ausblenden wollte (wo nix mehr dazukommt, ergeben Feeds ja keinen Sinn). Da habe ich mir ergurgelt, wie man die List-Items von unten her zählt, und siehe, mit

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    habe ich das auf Anhieb hinbekommen...

    Eines aber wundert mich noch: In meinem privaten Blog

    https://www.zonebattler.net/

    verwende ich aus einer Mischung von Gewohnheit, Wiedererkennungswert und Altersstarrsinn ein Uralttheme, bei dem nicht ich mittels

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    nur die letzte Zeile des Meta-Widget (den Link auf WordPress.org) entfernen wollte. Haut aber nicht hin (auch dann nicht, wenn ich den Code direkt in die style.css aufnehme). Das wundert mich, denn sowohl WordPress selbst ist auf dem aktuellen Stand und das Meta-Widget ist auch das normale und kein themespezifisches. Hast Du da eine Idee, warum das nicht geht? OK, natürlich kann ich hier die mir ja schon bekannten Code-Zeilen aus der class-wp-widget-meta.php löschen, aber nachdem Du mir gezeigt hast, wie es auch ohne eine Änderung von Core-Dateien geht, würde ich das natürlich auch auf die pfiffigere Art lösen wollen...

    Dank & Gruß,
    Ralph
     
  4. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    314
    Zustimmungen:
    7
    Okay, ich habe mir selbst helfen können. In meinem Blog heißen die Klassen anders, also mußte ich das Code-Snippet etwas modifizieren. Mit

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    funktioniert es auch in dieser WordPresse. Hurra! Danke für die Unterstützung und die Hilfe zur Selbsthilfe...

    Beste Grüße,
    Ralph
     
  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