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!