Hallo,
Ich habe vor, den Aufruf [FONT=Courier New]the_category(', ')[/FONT] in der index.php etwas zu verändern. Die Aufzählung soll bestimmte Kategorien nicht enthalten - ich meine damit nicht, den Post zu unterdrücken, der in einer bestimmten Kategorie liegt.
Bsp zur Verdeutlichung: Post1 ist in Kat1 und Kat2 veröffentlicht.
Rufe ich [FONT=Courier New]the_category(', ')[/FONT] in index.php auf dann werden 2 Links - durch Komma getrennt - angezeigt, die zu Kat1 und Kat2 führen. Ich möchte aber, dass grundsätzlich der Link Kat2 nicht zu sehen ist.
Ich weiß, dass es dieses nette Bsp hier gibt: http://codex.wordpress.org/Template_Tags/get_the_category
aber ich möchte es über [FONT=Courier New]add_filter[/FONT] lösen, denn dafür ist der ja da.
Dies habe ich auch geschafft - teilweise.
Hier nun das Problem: die eigentlichen Parameter [FONT=Courier New]$separator[/FONT] und [FONT=Courier New]$parent[/FONT] bekomme ich nicht als Argument der bei [FONT=Courier New]addfilter('the_category',FILTERFUNKTION)[/FONT] mitgeliefert, obwohl sie bei template-functions-category.php mit [FONT=Courier New]return apply_filters('the_category', $thelist, $separator, $parents);[/FONT] weitergegeben werden.
In der FILTERFUNKTION kommt lediglich [FONT=Courier New]$thelist[/FONT] an - [FONT=Courier New]$separator[/FONT] und [FONT=Courier New]$parents[/FONT] bekomme ich nicht.
Mach ich was falsch?
Wie komme ich in meiner Filterfunktion an die Parameter ran?
Liegt es an der OO?
Danke für eure Hilfe.
PS: Hier meine Einbindung im Quelltext:
Filter the_category hinzufügen
-
-
- Gerade eben
- 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)
-
Ich habe mich da bei meinen Filtern an der Beschreibung hier orientiert:
http://codex.wordpress.org/Plugin_API#Hook_in_your_FilterDer letzte (optionale) Parameter gibt die Anzahl der zu übergebenden Argumente an. Also z.B.:
PHPadd_filter( 'the_category', 'Disable_spec_Cat', 10, 3 ); //Disable_spec_Cat ist Methode einer Klasse function Disable_spec_Cat( $thelist, $separator, $parents ) { ... }Ob das jetzt bei Methoden von Klassen anders ist, weiß ich nicht, denke aber nicht. Mit "normalen" Funktionen klappt es so.
Gruß
Ingo -
Danke für den Tipp...das hat gereicht.
Ich habe den letzten Parameter bei add_filter ignoriert: accepted_args.
Jetzt sollte es gehen.
Danke für den Augenöffner!! :)
mfg,
Overload
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!