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

Ausgabe von get_adjacent_post_link() ändern

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von eisregen1986, 9. Februar 2017.

  1. eisregen1986

    eisregen1986 Well-Known Member

    Registriert seit:
    3. Mai 2006
    Beiträge:
    95
    Zustimmungen:
    0
    Hallo zusammen,

    derzeit stoße ich, trotz eigentlich recht guter Kenntnisse von WordPress an ein mir derzeit nicht lösbares Problem.

    Es geht sich um folgendes:

    Die Funktion
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    aus der Datei wp-includes/link-template.php ist für die Ausgabe der Links von
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    zuständig (bzw. für 2 Funktionen auf die the_post_navigation() zugreift).

    Wie man im Core sehen kann, besitzt die Funktion
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ja einen Filter Hook. Diesen würde ich gerne Ansprechen um die Ausgabe des Linkes zu ändern, sehe aber derzeit keine Lösung dies auch umzusetzen, da beim Ansprechen des Filter Hooks z.B. durch
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    .

    Habe im Übrigens auch schon versucht den Hook mit folgender Schreibweise anzusprechen:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    aber auch dies ohne erfolg.


    Wahrscheinlich sehe ich gerade den Wald vor lauter Bäumen nicht und hoffe das mir hier einer weiter Helfen kann.
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Eine action ist kein filter. Bei einem Filter kann ein Wert verändert werden. Eine Action wird aufgerufen, wenn WordPress an der Stelle im Code vorbeikommt, ohne Werte zu übergeben.

    In Deinem Fall würdest Du einen Filter verwenden, z.B. add_filter( 'next_post_link', ... oder add_filter( 'previous_post_link', ... wie auch im Code beschrieben.
     
    #2 b3317133, 9. Februar 2017
    Zuletzt bearbeitet: 9. Februar 2017
  3. eisregen1986

    eisregen1986 Well-Known Member

    Registriert seit:
    3. Mai 2006
    Beiträge:
    95
    Zustimmungen:
    0
    Du hast natürlich vollkommen recht, mein Fehler beim Kopieren, hatte es natürlich mit add_filter() probiert aber auch hier ohne erfolg der gewünschten Änderung. Der oben genannte Code war gestern Abend nur ein verzweifelter versuch noch, das hab ich beim kopieren hier her nicht mehr bedacht.

    Das Problem was ich konkret habe ist das beim Nutzen des Hooks sogar die Ausgabe von next_post_link oder previous_post_link der entsprechende Link aus der funktion the_post_navigation() verschwindet. Bekomm das Problem aber irgendwie nicht gelöst bis her.
     
  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Poste doch mal Deinen kompletten Filter-Code.
     
  5. eisregen1986

    eisregen1986 Well-Known Member

    Registriert seit:
    3. Mai 2006
    Beiträge:
    95
    Zustimmungen:
    0
    Da ich den gesamten Code jetzt schon ein paar mal komplett neu/umgeschrieben habe, hier mal das Aktuelleste mit dem ich Arbeite:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ist eigentlich bis auf das class="nav-link in der Variable $string der gleiche Code wie von der Funktion get_adjacent_post_link().
     
    #5 eisregen1986, 10. Februar 2017
    Zuletzt bearbeitet: 10. Februar 2017
  6. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Derzeit filterst Du nur den "next" Link. Was genau willst Du erreichen?

    Wenn Du in den Links nur eine class hinzufügen willst, würde das in etwa so gehen (einfach runtergetippt und ungetestet):
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #6 b3317133, 10. Februar 2017
    Zuletzt bearbeitet: 10. Februar 2017
  7. eisregen1986

    eisregen1986 Well-Known Member

    Registriert seit:
    3. Mai 2006
    Beiträge:
    95
    Zustimmungen:
    0
    Manchmal ist der einfachste Weg der leichteste.

    Dein Beispiel, musste nur noch um ein return $output; ergänzt werden um mein gewünschtes Ergebnis zu liefern.

    Das ich in meinen "Beispiel Code" nur den next Link angesprochen hab ist richtig, wollte ja auch erstmal nur das Script zum laufen bekommen. Aber deine Lösung ist genauso effektiv, vielen dank.
     
  8. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Der leichteste Weg wäre wohl ganz ohne PHP die Formatierung der Links via CSS über eine im Theme ohnehin vorhandene class eines übergeordneten Elements.

    Daher immer möglichst genau beschreiben, was man eigentlich erreichen will...
     
  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