0

enqueue_script を動作させることができません。これが私のコードです (これは私のプラグイン ファイルにあります)。

function load_custom_wp_admin_style() {
    wp_enqueue_script( 'jquery-ui-datepicker', '', array('jquery'));
}
add_action( 'admin_enqueue_scripts', 'load_custom_wp_admin_style' );

どこが間違っているのですか?自分のスクリプトも読み込めないようです

wp_enqueue_script('jquery');
wp_enqueue_script('jquery-ui-core');
wp_enqueue_script('jquery-ui-datepicker');

jquery-ui スクリプトをロードしていますが、datepicker スクリプトがロードされていません

4

1 に答える 1

0

jquery-ui-datepicker は WordPress (最近のバージョン) にバンドルされているため、スクリプト ハンドル以外は何も指定する必要はありません。

wp_enqueue_script('jquery-ui-datepicker');

しかし、「うまくいかない」とは、正確には何を意味するのでしょうか? ページのソースを調べて、読み込まれているスクリプトが見つかりませんでしたか? または、読み込まれますが、CSS スタイルがありませんか? datepicker の CSS をエンキューしていないため (少なくとも上記)、問題は後者であると思われます。

ここでの問題は、WordPress 自体が日付ピッカーを使用しないため、WordPress が実際には日付ピッカーをサポートする CSS をバンドルしていないことです。したがって、次のいずれかを行う必要があります。

  • 管理スタイルシートにいくつかのサポート CSS を追加します
  • CDN などから、互換性のある標準の jquery-ui テーマをキューに入れる

後者については、少し前にブログに書きました。これを処理するコードを次に示します。上記の関数に追加します。

global $wp_scripts;

// get registered script object for jquery-ui
$ui = $wp_scripts->query('jquery-ui-core');

// tell WordPress to load the Smoothness theme from Google CDN
$url = "https://ajax.googleapis.com/ajax/libs/jqueryui/{$ui>ver}/themes/smoothness/jquery.ui.all.css";
wp_enqueue_style('jquery-ui-smoothness', $url, false, null);

これでエンチラーダ全体が読み込まれますが、datepicker が必要とする CSS だけに戻すこともできます。

編集: datepicker スクリプトを他の jquery-ui スクリプトとバンドルしていない古いバージョンの WordPress で datepicker スクリプトを取得するには、Use Google Librariesをインストールするのが最も簡単な解決策です。このプラグインは、ローカルの jquery スクリプトを Google の CDN でホストされているバージョンに置き換え、すべての jquery-ui スクリプトが単一の (十分にキャッシュされた!) スクリプトとしてダウンロードされます。

于 2013-01-25T09:42:04.480 に答える