Très court extrait: Wordpress, liste des catégories avec des cases à cocher

Il ya quelques jours, j'ai publié une nouvelle version majeure (la 2.3.0) de l'WordPress plugin WP Bannerize , pour l'année dernière. En plus d'avoir introduit l'utilisation de widgets (qui je l'espère, d'écrire quelque chose dans un avenir proche) ou "finalement" permis de filtrer les bannières de la classe.
Widgets dans la section J'ai trouvé la nécessité de considérer les catégories du blog afin qu'ils puissent être sélectionnés via une case à cocher contrôle! En outre, j'ai eu à voir "retrait" dans le respect de la hiérarchie parent / enfant. Ayant eu un coup d'oeil (je l'avoue rapide) aux fonctions de WordPress, il semblait qu'il y avait quelque chose déjà disponibles et documentées!

Remarque: en fait, quand nous insérons un nouveau poste dans le Wordress backend, la page propose une liste de leurs catégories en retrait avec beaucoup de cases à cocher! , solo che queste sono funzioni interne, quindi meglio evitare di usarle), ho optato per scriverne una mia personale Cependant, ne voulant pas effectuer toute ingénierie inverse pour récupérer la fonction (j'avoue ... j'ai fait et j'ai aussi trouvé, voir wp_category_checklist() dans votre wp-admin , mais seulement que ce sont des fonctions internes, il faut donc éviter de les utiliser) J'ai décidé d'écrire mon propre

J'ai donc écrit une fonction personnelle qui affiche les catégories d'un blog dans une liste indentée ajoutant un contrôle case à cocher. Cette fonction peut être inséré dans functions.php . La fonction, en fait, a deux fonctions: principale et de service utilisé pour "itération" récursivement.
Dans la version que je me présente (WordPress utilise dans ces cas, son objet - ou plutôt de sa catégorie - Walker ) Je n'ai pas utilisé la fonction imbriquée , comme il a quelques problèmes avec la structure de widgets WordPress campatibilità, mais vous pouvez les re-s'adaptent à toutes les d'autres fins.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25e
26
27
28
29
/ **
* Retourne une liste (UL / LI) des catégories
* @ Params array $ selected_cats catégories sélectionnées
*
* @ Return HTML
* /
$selected_cats = null ) { Fonction get_categories_checkboxes (selected_cats $ = null) {
get_categories ( ) ; $ All_categories get_categories = ();
'<ul style="margin-left:12px">' ; $ O = '<ul style="margin-left:12px">';
$all_categories as $key => $cat ) { foreach ($ all_categories as $ key => $ cat) {
$cat -> parent == "0" ) $o .= __show_category ( $cat , $selected_cats ) ; if ($ cat - parent> == "0") ou __show_category $ .= ($ cat, selected_cats $);
}
. '</ul>' ; return $ o. '</ ul>';
}

$cat_object , $selected_cats = null ) { __show_category fonction (cat_object $, $ selected_cats = null) {
"" ; Vérifié $ = "";
! is_null ( $selected_cats ) && is_array ( $selected_cats ) ) { if ( is_null (selected_cats $) & & is_array ($ selected_cats)) {
( in_array ( $cat_object -> cat_ID , $selected_cats ) ) ? 'checked="checked"' : "" ; Vérifié $ = ( in_array ? ($ cat_object -> cat_id, selected_cats $)) 'checked = "checked"': "";
}
'<li><label><input ' . $checked . ' $ U = '<li> <label> <input'. Vérifié $. $cat_object -> cat_ID . '" /> ' . $cat_object -> cat_name . '</label>' ; type = "checkbox" name = "chats []" value = "'.. cat_object $ -> cat_id'" /> '.. cat_object $ - cat_name>' </ label> ';

get_categories ( 'parent=' . $cat_object -> cat_ID ) ; $ Childs = get_categories ('parent =' $ Cat_object -> cat_id.);
$childs as $key => $cat ) { foreach ($ Childs as $ key => $ cat) {
'<ul style="margin-left:12px">' . __show_category ( $cat , $selected_cats ) . '</ul>' ; Ou $ .= '<ul style="margin-left:12px">' __show_category ($ cat, selected_cats $) '</ ul>'..;
}
'</li>' ; Ou $ .= '</ li>';
; return $ u;
}

Un commentaire: "Très court extrait: Wordpress, liste des catégories avec des cases à cocher"

  1. 5 décembre 2009 Le meilleur de la semaine # 41 | BigThink :

    [...] Très court extrait: Wordpress, liste des catégories avec des cases à cocher Comment afficher la liste des catégories, accompagné d'une case à cocher. [...]

Laisser un commentaire

XHTML TAG PERMIS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> CODE D'INSERTION:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Arrêtez SOPA