私はWPで管理者設定ページのタブを作成しようとしていますが、私はそれが間違っていると思います。以下の例は私がどのようにしたかを示していますが、これを正しく使用するためにこれを変更する方法がわかりません。 $。
function my_plugin_load_js() {
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://code.jquery.com/jquery-1.8.3.js');
wp_enqueue_script('jquery');
wp_deregister_script('jquery-ui-core');
wp_register_script('jquery-ui-core', 'http://code.jquery.com/ui/1.9.2/jquery-ui.js');
wp_enqueue_script('jquery-ui-core');
}
add_action('admin_enqueue_scripts', 'my_plugin_load_js' );
function mypluginjs() {
echo '<script type="text/javascript">
jQuery(function() {
jQuery( "#tabs" ).tabs();
});
</script>';
}
add_action( 'admin_print_scripts', 'mypluginjs' );
WP-Adminでコアバンドルスクリプトを登録解除しないでください。あなたがフロントエンドでもそうすべきではありません、あなたが本当に、本当にあなたが何を知っているのでなければ。やります。しかしWP-Adminでは特に、コアバンドルのスクリプトを使うだけです。
また、コアバンドルのjQuery UIを使用するとき、WordPressはすでにjQueryが依存関係であることを知っています。
最初のコールバックをこれに変更するだけです。
function my_plugin_load_js() {
wp_enqueue_script('jquery-ui-core');
}
add_action('admin_enqueue_scripts', 'my_plugin_load_js' );
注:WP-Admin全体をエンキューするのではなく、自分のプラグインの管理ページにのみエンキューするには、ここでplugin-specificフックを使用する必要があります。
また、jQuery UIタブの場合は、jquery-ui-tabs
スクリプトをエンキューする必要があります。 Coreはそれを必要なすべてのdepsに登録するので、直接それをエンキューすることができます。
function my_plugin_load_js() {
wp_enqueue_script('jquery-ui-tabs');
}
add_action('admin_enqueue_scripts', 'my_plugin_load_js' );
2つ目は、スクリプト を競合のないラッパー で正しくラップするだけです。
function mypluginjs() {
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
jQuery( "#tabs" ).tabs();
});
</script>
<?php
}
add_action( 'admin_print_scripts', 'mypluginjs' );