Hace unos días publiqué una nueva versión principal (la 2.3.0) de los plugins de WordPress WP Bannerize , para el año pasado. Además de haber introducido el uso de widgets (que espero escribir algo en el futuro cercano) o "por fin" le permite filtrar los banners para la clase.
Widgets en la sección he encontrado la necesidad de ver las categorías del blog, para que puedan ser seleccionados a través de una casilla de control! Además, tuve que mostrar "sangría" en el respeto de la jerarquía de padre / hijo. Después de haber tenido una mirada (lo admito rápido) a las funciones de WordPress, parecía que no había nada disponible y ya han documentado el hecho de!
Nota: en realidad, cuando se inserte un nuevo puesto en el Wordress backend, la página ofrece una lista de sus categorías sangría con una gran cantidad de casillas! , solo che queste sono funzioni interne, quindi meglio evitare di usarle), ho optato per scriverne una mia personale Sin embargo, no quiere realizar ninguna ingeniería inversa para recuperar la función (lo admito ... lo hice y me pareció también, ver
wp_category_checklist()en suwp-admin, sólo que se trata de las funciones internas, por lo que evitar su uso) Me decidí a escribir mi propia
Así que escribí una función personal que muestra las categorías de un blog en forma de lista sangrada agregar un control de casilla de verificación. Esta función puede ser insertado en functions.php . La función, de hecho, tiene dos funciones: principal y de servicio utilizados para "recorrer" de forma recursiva.
En la versión que me presente (WordPress utiliza en estos casos, su objeto - o más bien su clase - Walker ) que no ha utilizado la función jerarquizada , ya que le dio algunos problemas con la estructura de campatibilità widgets de WordPress, pero se pueden volver a escalar a cualquier otros fines.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | / ** * Devuelve una lista (UL / LI) de las categorías * @ Array $ Params selected_cats categorías seleccionadas * * @ Return HTML * / $selected_cats = null ) { get_categories_checkboxes función ($ 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 - padres> == "0") o $ __show_category .= ($ gato, $ selected_cats); } . '</ul>' ; return $ o. '</ ul>'; } $cat_object , $selected_cats = null ) { __show_category función (cat_object $, $ selected_cats = null) { "" ; $ Seleccionado = ""; ! 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"' : "" ; Seleccionado = $ ( in_array ? ($ cat_object -> cat_id, $ selected_cats)) 'checked = "checked": ""; } '<li><label><input ' . $checked . ' $ U = '<li> <label> entrada <. $ Facturado. $cat_object -> cat_ID . '" /> ' . $cat_object -> cat_name . '</label>' ; type = "checkbox" name = "gatos []" value = "".. cat_object $ -> cat_id '"/>.. cat_object $ - cat_name>" </ label>'; get_categories ( 'parent=' . $cat_object -> cat_ID ) ; Niños $ = get_categories ("padre =" $ Cat_object -> cat_id.); $childs as $key => $cat ) { foreach ($ niño as $ key => $ cat) { '<ul style="margin-left:12px">' . __show_category ( $cat , $selected_cats ) . '</ul>' ; $ Ou .= '<ul style="margin-left:12px">' __show_category ($ gato, $ selected_cats) '</ ul>'..; } '</li>' ; $ Ou .= "</ li> '; ; return $ u; } |










[...] Fragmento muy corto: Wordpress, las categorías de la lista con casillas de verificación Cómo mostrar la lista de categorías, acompañados de una casilla de verificación. [...]