Como agrupar caixas meta na página de edição posterior

4

Eu suspeito que isso não seja possível agora, mas tudo bem ... eu vou perguntar, talvez um de vocês tenha alguns pensamentos interessantes para compartilhar.

Então, digamos que temos as seguintes meta-caixas de termos de taxonomia em nossa página de pós-edição:

  • Contabilidade de equipe
  • Supergurus da equipe
  • Países
  • Desenvolvedores de equipe
  • Sorvete favorito

Não seria bom poder agrupar as três meta-caixas "Equipe" em uma caixa "contêiner" chamada "Equipes"? Esta seria uma meta-caixa vazia e simples com um título, contendo as três meta-caixas de taxonomia.

O objetivo é ser mais amigável e manter as meta-caixas similares agrupadas (pode se tornar realmente confuso quando você tem muitas taxonomias)

Você acha que isso é factível?

    
por mike23 28.06.2011 / 13:06

1 resposta

6

Obrigado pela dica Bainternet, na verdade isso é muito fácil de implementar com jQuery.

Exemplo (as quatro caixas meta estão fechadas para maior clareza):

Vejaoqueeufiz:

var$j=jQuery.noConflict();$j(document).ready(function(){$j("#side-sortables").append('<div id="container_div" class="postbox meta-box-sortables ui-sortable"><div class="handlediv" title="Click to toggle."><br></div><h3 class="hndle"><span>Container Meta Box</span></h3><div id="container_inside" class="inside"></div></div>');
    $j("#my_metabox_div").appendTo("#container_inside");
    $j("#my_other_metabox_div").appendTo("#container_inside");
    etc...
});

Eu adicionei as classes meta-box-sortables e ui-sortable ao contêiner div, assim você também pode reordenar as caixas dentro do contêiner (embora seja meio complicado, o div salta facilmente ..).

Este script é então chamado na página de administração desejada:

function add_admin_scripts( $hook ) {
    // load script on new post page
    if ( $hook == 'post-new.php' ) {
        wp_enqueue_script( 'group_meta_boxes', get_bloginfo('template_directory').'/js/group_meta_boxes.js' );
    }
}
add_action('admin_enqueue_scripts','add_admin_scripts',10,1);
    
por mike23 28.06.2011 / 15:42