Cómo agrupar los meta cuadros en la página de edición posterior

4

Sospecho que esto no es posible en este momento, pero bueno ... lo preguntaré, quizás alguno de ustedes tenga algunos pensamientos interesantes que compartir.

Entonces, digamos que tenemos las siguientes meta-cajas de términos de taxonomía en nuestra página de edición posterior:

  • contabilidad de equipo
  • Equipo supergurus
  • países
  • Desarrolladores de equipos
  • helado favorito

¿No sería bueno poder agrupar las tres meta-cajas de "Equipo" en un cuadro de "contenedor" llamado "Equipos"? Esto sería una meta-caja justa y vacía con un título, que contiene las tres meta-cajas de taxonomía.

El objetivo es ser más fácil de usar y mantener agrupadas las meta-cajas similares (puede ser realmente confuso cuando tienes muchas taxonomías)

¿Crees que esto es factible?

    
pregunta mike23 28.06.2011 - 13:06

1 respuesta

6

Gracias por la sugerencia de Bainternet, de hecho, esto es muy fácil de implementar con jQuery.

Ejemplo (las cuatro cajas de meta están cerradas para mayor claridad):

Estoesloquehice:

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...
});

Agregué las clases meta-box-sortables y ui-sortable al div contenedor, de esa manera también puedes reordenar las cajas dentro del contenedor (aunque es un poco complicado, el div salta fácilmente ...).

Este script se llama en la página de administración que deseamos con:

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);
    
respondido por el mike23 28.06.2011 - 15:42

Lea otras preguntas en las etiquetas