web-dev-qa-db-fra.com

Tableau de bord - récupère le statut et la position des métaboxes et les transmet à la méthode ajax

Je me demande s'il est possible d'obtenir le statut et la position des métaboxes ajoutés à une page semblable à un tableau de bord.

La page principale de mon plugin contient plusieurs métaboxes disposés dans une page à deux colonnes et une boîte "table des matières" en haut (avec des liens internes, comme une page wikipedia). Cependant, étant donné que vous pouvez commander/masquer/afficher une métabox, la zone TOC doit être mise à jour en conséquence via une méthode ajax.

Est-il possible de déclencher une telle méthode, en passant tous les paramètres nécessaires à la réalisation de la commande (position et statut de toutes les métaboxes)?

merci d'avance,

Gabriele

1
Gabriele B

Vous pouvez accrocher l'événement sortstop des métaboxes sortable et lire l'état actuel:

jQuery( function( $ ) {
    $( '.meta-box-sortables' ).bind( 'sortstop', function( event, ui ) {
        var sortData = {};
        $('.meta-box-sortables').each( function() {
            sortData[this.id.split('-')[0]] = $(this).sortable( 'toArray' );
        } );
        console.log( sortData );
    } );
} );

Vous pouvez également vous connecter aux événements qui cachent ou révèlent des métaboxes, mais cela nécessite un peu plus de travail de votre côté, car WordPress ne fournit pas d'événements Nice pour cela. Voir le script postbox.js pour plus de détails.

Il y a d'autres réponses sur ce site qui traitent de la partie Ajax .

1
Jan Fabry