我试图在我的WP插件中模拟仪表板元框UI-小元框。我已经为它们和drag&;drop功能在我加载以下脚本和样式时起作用:
wp_enqueue_style(\'dashboard\');
wp_enqueue_script(\'dashboard\');
不过,我也想保存我的自定义“邮箱”位置(顺序)以及打开/关闭状态。
有什么想法可以做到这一点吗?
谢谢
UPDATE:这是我邮箱的结构:
<div class="wrap">
<h2><?php echo get_admin_page_title(); ?></h2>
<div class="postbox-container" style="width: 100%">
<div class="metabox-holder">
<div class="meta-box-sortables">
<div class="postbox" id="first">
<div class="handlediv" title="Click to toggle"><br /></div>
<h3 class="hndle"><span><?php echo get_admin_page_title(); ?></span></h3>
<div class="inside">
<p>first</p>
</div>
</div>
<div class="postbox" id="second">
<div class="handlediv" title="Click to toggle"><br /></div>
<h3 class="hndle"><span><?php echo get_admin_page_title(); ?></span></h3>
<div class="inside">
<p>second</p>
</div>
</div>
</div>
</div>
</div>
<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>
</div>
最合适的回答,由SO网友:t31os 整理而成
在排序或关闭元数据库时,这些操作需要nonce,请将以下内容添加到代码中,看看这是否解决了问题。
<?php wp_nonce_field(\'closedpostboxes\', \'closedpostboxesnonce\', false ); ?>
<?php wp_nonce_field(\'meta-box-order\', \'meta-box-order-nonce\', false ); ?>
Additional:
您应该使用以下命令将元数据库添加到页面
add_meta_box
并使用
do_meta_boxes
将插件页面的挂钩作为第一个参数传入。这至少应该确保您已经以WordPress的方式注册和输出了它们,并且如果您也输出了适当的nonce,那么应该可以工作。
如果仍有问题,请查看问题页面上的源代码,并验证JS文件的输出顺序是否正确(更简单的是,将页面中的JS包含内容与使用元盒的核心WordPress页面进行比较,确保JS包含(排队)的显示顺序相同)。