Lister les catégories

Forums Forums WPshop Documentation Lister les catégories

Ce sujet a 2 réponses, 2 participants et a été mis à jour par  Gael, il y a 1 an et 3 mois.

3 sujets de 1 à 3 (sur un total de 3)
Auteur Messages
Auteur Messages
20 février 2016 at 22 h 36 min #19309

wulfy
Participant

Bonjour,

je cherche un moyen d’obtenir une liste des catégories wpshop ainsi que leur arborescence.
L’idée est de proposer une page avec toutes les catégories/ss cat.
Au clic l’utilisateur se retrouve dans la liste des produits.

J’ai bien noté la possibilité de le faire via un menu mais je souhaiterai savoir si vous proposer un shortcode ou une fonction pour le faire.
J’ai bien cherché dans wordpress mais je n’ai trouvé que « get_terms » qui ne permet pas de lister la totalité 🙁

Merci 😉

L

20 février 2016 at 23 h 35 min #19311

wulfy
Participant

MAJ : j’ai trouvé une solution pour le moment :

public static function get_categories_helper_func(){
$categories = wpshop_categories::category_tree();
$content = "";
$att = ['cid'=>$cid,'display'=>'only_cat'];
foreach($categories as $cid=>$data)
{
$content .= wpshop_categories::wpshop_category_func($att);
}

return $content;
}

Ok ce n’est pas parfait mais ca semble faire le job. Il manque juste la gestion des « enfants ».

S’il y a plus simple je suis preneur 🙂

  • Cette réponse a été modifiée le il y a 1 an et 3 mois par  wulfy.
22 février 2016 at 10 h 52 min #19318

Gael
Admin bbPress

Bonjour,
vous pouvez vous inspirer de category_tree_output ligne 125 de categories.class.php.

J’ai pensé à ça :

public static function get_categories_helper_func($category_id = 0, $display) {
	global $category_has_sub_category_helper_func;
	$att = ['cid'=>$category_id,'display'=>$display];
	$categories = get_terms(WPSHOP_NEWTYPE_IDENTIFIER_CATEGORIES, 'hide_empty=0&parent=' . $category_id);
	$content .= wpshop_categories::wpshop_category_func($att);
	if(count($categories) > 0){
		foreach($categories as $category){
			$content .= self::get_categories_helper_func($category->term_id, $display);
		}
		$category_has_sub_category_helper_func = true;
	}else{
		$category_has_sub_category_helper_func = false;
	}
	return $content;
}

J’ai pas testé mais vous devriez pouvoir trouver ce qui ne vas pas, si il y a un problème.

Cordialement, Gaël.

3 sujets de 1 à 3 (sur un total de 3)