Alguns dias atrás eu lançou uma nova versão principal (a 2.3.0) do WordPress plugin WP Bannerize , no ano passado. Além de ter introduzido o uso de widgets (que espero escrever algo no futuro próximo) ou "finalmente" permitido para filtrar os banners para a classe.
Widgets na seção Eu encontrei a necessidade de ver as categorias do blog, para que possam ser selecionados através de uma caixa de controle! Além disso, eu tive que mostrar "recuado" em relação à hierarquia pai / filho. Ter tido um olhar (eu admito rápido) para as funções do WordPress, parecia que havia algo já disponível e documentado!
Nota: na verdade, quando nós inserimos um novo post no Wordress backend, a página oferece uma lista de suas categorias recuado com um monte de caixas! , solo che queste sono funzioni interne, quindi meglio evitare di usarle), ho optato per scriverne una mia personale No entanto, não querendo executar qualquer engenharia reversa para recuperar a função (eu admito ... eu fiz e eu também encontrei, ver
wp_category_checklist()no seuwp-admin, só que estas são funções internas, por isso evite usá-los) Eu decidi escrever meu próprio pessoal
Então eu escrevi uma função pessoal que exibe as categorias de um blog em uma lista recuada adicionar um controle caixa de seleção. Esta função pode ser inserido no functions.php . A função, na verdade, tem duas funções: principal e de serviço usado para "interagir" de forma recursiva.
Na versão que eu me apresento (WordPress usa nestes casos o seu objeto - ou melhor, sua classe - Walker ) Eu não usei a função aninhada , como ele deu alguns problemas com a estrutura de widgets campatibilità WordPress, mas você pode re-escala-los a qualquer outros 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 25 26 27 28 29 | / ** * Retorna uma lista (UL / LI) das categorias * @ Array Params $ selected_cats categorias selecionadas * * @ Return HTML * / $selected_cats = null ) { get_categories_checkboxes função ($ 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 $ chave = cat> $) { $cat -> parent == "0" ) $o .= __show_category ( $cat , $selected_cats ) ; if ($ cat - pai> == "0") ou US $ __show_category .= ($ cat, $ selected_cats); } . '</ul>' ; return $ o. "</ ul> '; } $cat_object , $selected_cats = null ) { __show_category função (cat_object $, $ selected_cats = null) { "" ; Verificado $ = ""; ! 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"' : "" ; $ Verificado = ( in_array ? ($ cat_object -> cat_id, $ selected_cats)) 'checked = "checked": ""; } '<li><label><input ' . $checked . ' U $ = '<li> <label> <input'. $ Checked. " $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 ) ; Childs $ = get_categories ('pai =' $ Cat_object -> cat_id.); $childs as $key => $cat ) { foreach ($ childs as $ chave = 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; } |










[...] Muito curto trecho: Wordpress, categorias lista com checkboxes Como exibir a lista de categorias, acompanhado por uma caixa de seleção. [...]