web-dev-qa-db-ja.com

私のプラグインのメタボックスのようなダッシュボード - それらの位置と開閉状態を保存する方法?

私はWPプラグインのダッシュボードメタボックスUIを模倣しようとしています - 小さなメタボックス。私はすでにそれらをスタイルしていて、そしてドラッグ&ドロップ機能は私が次のスクリプトとスタイルをロードしたときにはたらきます:

wp_enqueue_style('dashboard');
wp_enqueue_script('dashboard');

しかし、私はまた私のカスタムの "私書箱"の位置(順番)と開閉状態を保存したいと思います。

どのようにしてこれを達成することができますか?

ありがとう。

更新: これが私の郵便ポストの構造です。

<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>
4
depi

メタボックスの順序付けまたは終了時に、これらのアクションにはナンスが必要です。コードに次のコードを追加して、問題が解決するかどうかを確認してください。

<?php wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false ); ?>
<?php wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false ); ?>

追加:

add_meta_box を使用してメタボックスをページに追加し、最初の引数としてプラグインページのフックを渡して do_meta_boxes を使用してそれらを出力する必要があります。これは少なくともあなたがWordPressと同じ方法でそれらを登録して出力していることを確実にするべきであり、あなたが適切なナンスも出力していればうまくいくはずです。

それでも問題が解決しない場合は、問題のあるページでソースを表示し、JSファイルが正しい順序で出力されていることを確認してください。あなたのJSインクルード(エンキュー)は同じ順序で現れます)。

4
t31os

HTMLを手で書いてもうまくいかないでしょう。

do_metaboxes()を使うほうが良いです。

私はそれをすべて自分の scbBoxesPage classで考え出しました。

http://plugins.trac.wordpress.org/browser/scb-framework/trunk/scb/BoxesPage.php?rev=339808

フロントエンドエディタ pluginでの使用例

http://plugins.trac.wordpress.org/browser/front-end-editor/trunk/admin.php?rev=362968

私はおそらくこれらすべてのクラスを使用する適切なサンプルプラグインを書くべきです。

3
scribu