it-swarm-ja.com

管理者のjQuery UI(ベストプラクティス)

たぶん誰かがこれを経験したことがありますが、jQuery UI1.8.9ファイルを自分のadmin_head内に含めると、ダッシュボードの機能が壊れます(すなわちポップアップ)注目の画像を追加するには、メニュー項目などをドラッグアンドドロップします。 1.7.2を含めても、それはもう壊れませんが、それから私のすばらしい小さなカレンダーはもううまくいきません。

それで、私の質問は、現在(3.0.x)、すべてを壊さずに管理ページ内にjquery UIを実装するための最良の方法は何ですか?

その他の情報:カスタム投稿タイプ内のフィールドに日付ピッカーを追加しようとしています

ありがとうございました!

ノエル

3
Noel Tock

WP 3.1にはjQuery UI 1.8が付属するので、最も簡単な解決策は待つことです。

また、scriptタグを直接出力しているようにも見えます。バンドルされているjQuery UIのバージョンを登録解除し、それを自分のものに置き換えてみてください。

これはwp_deregister_script()とwp_enqueue_script()を使って行われます。

6
scribu

Scribuに感謝します。興味のある人のための作業結果です(custom-adminは日付ピッカーのための私のjsです):

function wpse_9080_admin_head()
{
    global $pagenow;

    // Example of enqueue only in Profile page
    // based on scribu's suggestion in the comment bellow
    if ( 'profile.php' == $pagenow )
    {
            wp_enqueue_style('ui-datepicker', get_bloginfo('template_url') . '/css/jquery-ui-1.8.9.custom.css');
            wp_deregister_script('jquery-ui-core');
            wp_enqueue_script('jquery-ui', get_bloginfo('template_url') . '/js/jquery-ui-1.8.9.custom.min.js', array('jquery'));
            wp_enqueue_script('ui-datepicker', get_bloginfo('template_url') . '/js/jquery.ui.datepicker.min.js');
            wp_enqueue_script('custom_script', get_bloginfo('template_url').'/js/custom-admin.js', array('jquery'));
    }
}

add_action('admin_init', 'wpse_9080_admin_head');
4
Noel Tock

カスタム投稿タイプのページにのみjQuery UIをロードする正しい方法は何ですか?

 global $ pagenow 
 if($ pagenow == 'post-new.php?post_type = events'){
 //ここにスクリプトをエンキューする
} 

これは正しい方法ですか?

0
Mamaduka