web-dev-qa-db-fra.com

La page d'administration du plugin meta_box bascule et l'état de la commande n'est pas sauvegardé

Je ne parviens pas à enregistrer l'état de basculement et l'état d'ouverture/fermeture de meta_boxes sur la page d'administration de mon plugin. La réponse ajax est toujours 0

J'utilise des méta-boîtes pour contenir des sections de menu pour un plugin.

wp_enqueue_script( 'common' );
wp_enqueue_script( 'wp-lists' );
wp_enqueue_script( 'postbox' );

sont appelés sur un hook init add_action

add_meta_boxes sont appelées avec admin_menu add_action hook Ensuite, la page d'administration de mon plugin est rendue ainsi ...

<div class="wrap" id="church-admin">
<div id="icon-index" class="icon32"><br/></div><h2>Church Admin Plugin</h2>
<div id="poststuff">
    <!-- #post-body .metabox-holder goes here -->
    <div id="post-body" class="metabox-holder columns-2">
        <!-- meta box containers here -->
        <form style="display:none" method="get" action="">
            <?php wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false ); ?>
            <?php wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false ); ?>
        </form>
        <?php do_meta_boxes('church-admin','advanced',null);?>
    </div>
</div>
</div>
<script type="text/javascript">
jQuery(document).ready(function($){$(".if-js-closed").removeClass("if-js-closed").addClass("closed");
            postboxes.add_postbox_toggles( pagenow );
            });
</script>

Pourquoi les bascules opn/close et les modifications d'ordre ne sont-ils pas enregistrés?

2
andymoyle

Pour que la sauvegarde fonctionne, la postboxes.add_postbox_toggles( pagenow ); doit être remplacée par

postboxes.add_postbox_toggles( 'pluginname' );

Dans mon cas, postboxes.add_postbox_toggles( 'church-admin' );

J'ai blogué un comment en utilisant des boîtes à méta sur les pages d'administration du plugin

3
andymoyle