Comment puis-je faire en sorte que wp_list_categories génère une sortie li avec category-slug comme classe, pour ses enfants?
1 réponses
- votes
Jene saispas siinterroger ànouveau les catégoriesest labonneidée.Le code suivant étend la Walker_Category
et l'utilisepoureffectuer le remplacement.Mettez ce qui suit dans votrefunctions.php:
class WPSE67791_Walker_Category extends Walker_Category {
public function start_el(&$output, $category, $depth, $args) {
parent::start_el( $output, $category, $depth, $args );
$find = 'cat-item-' . $category->term_id . '"';
$replace = 'category-' . $category->slug . '"';
$output = str_replace( $find, $replace, $output );
}
}
Appelezensuite wp_list_categories comme suit:
wp_list_categories(
array(
'child_of' => 4,
'walker' => new WPSE67791_Walker_Category
)
);
I am not sure if querying the categories again is the good idea. The following code extends the Walker_Category
and makes use of it to do the replacement. Put the following in your functions.php:
class WPSE67791_Walker_Category extends Walker_Category {
public function start_el(&$output, $category, $depth, $args) {
parent::start_el( $output, $category, $depth, $args );
$find = 'cat-item-' . $category->term_id . '"';
$replace = 'category-' . $category->slug . '"';
$output = str_replace( $find, $replace, $output );
}
}
Then call wp_list_categories as following:
wp_list_categories(
array(
'child_of' => 4,
'walker' => new WPSE67791_Walker_Category
)
);
Entermes simples,j'aimerais changer la sortie de
wp_list_categories
àpartir de ceci:à laplace:
J'ai doncessayé Googleet j'aitrouvé une solutionmentionnée sur cette question ajouter unfiltre à wp_list_categorieset interroger si utilisépour lister lestermesfiscaux? .
Je doismettre ceci surmon
functions.php
:MODIFIER: Maintenantje réalise leproblème!
Lefiltre ci-dessusfonctionnepour les catégoriesparentes. Cependant,celane fonctionnepaspour lesenfants!
Donc,en utilisant ce code,sij'utilise
wp_list_categories
,il affichera ceci:Notez quemême si la classe desparentsest
category-articles
,la classe children reste commecat-item-10
.Y a-t-il une solution à ceproblème?