Streifen Sie ein Wort von wp_list_categories ab

Mit dem folgenden Code zeige ich eine Liste von Unterkategorien:

Was ich versuche zu tun ist, das Wort “Nachrichten” von jedem Listenelement zu streichen. Ich dachte mir, dass ich es mit preg_replace machen kann, aber das Problem ist, dass meine Kenntnisse über PHP sehr begrenzt sind und ich die beiden nicht zusammenkleben kann. Jede Hilfe würde sehr geschätzt werden.

Solutions Collecting From Web of "Streifen Sie ein Wort von wp_list_categories ab"

Ich nehme an, dass Sie die “Nachrichten” Zeichenfolge in den Kategorie-Namen und nicht in der Kategorie Verknüpfungen ersetzen möchten.

Der Standard-Kategorie-Walker enthält diese Zeile :

 $cat_name = apply_filters( 'list_cats', $cat_name, $category ); 

Damit können Sie die Kategorienamen ändern, die angezeigt werden.

So könntest du versuchen (ungetestet):

 
    < ?php if ( is_category() ) { $current_cat = get_query_var('cat'); // Add your custom replace filter: add_filter( 'list_cats', 'wpse_155534_replace' ); wp_list_categories('&title_li=&child_of='.$current_cat); // Remove your custom replace filter: remove_filter( 'list_cats', 'wpse_155534_replace' ); } ?>

woher

 /** * Replace the "news" string in the category names * * @see http://wordpress.stackexchange.com/a/155539/26350 * * @param string $cat_name * @return string $cat_name */ function wpse_155534_replace( $cat_name ) { return str_ireplace( 'news', '', $cat_name ); }