5

テーマを開発していて、wp_enqueue_script を機能させようとしています。興味深いのは、何も表示されないことです。それは何もしません。これが私のセットアップです:

functions.php には次のものがあります。

function named_scripts() {

    global $named_options;

    if( is_admin() ) return;

    wp_deregister_script( 'jquery' );
    wp_register_script( 'screen', tz_JS . '/screen.js', array( 'jquery' ) );
    wp_enqueue_script( 'screen' );
    wp_enqueue_script( 'bootstrap', tz_JS . '/bootstrap/bootstrap.js', array( 'jquery' ) );

    wp_register_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), '20120208', 'all' );  
    wp_enqueue_style( 'custom-style' );

}



add_action( 'init', 'named_scripts' );

header.php で私が呼び出す

named_scripts();

そして HTML では、何も表示されません。

4

4 に答える 4

9

デフォルトの wordpress jquery を削除した後、jquery ファイルを登録する必要があります。私はこのコードを使用します..それが役立つことを願っています..

function load_external_jQuery() { // load external file  
    wp_deregister_script( 'jquery' ); // deregisters the default WordPress jQuery  
    wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"), false);
    wp_enqueue_script('jquery');
    wp_register_script('blur', get_template_directory_uri() . '/_/js/blur.js', array('jquery') );
    wp_enqueue_script('blur');
}  
add_action('wp_enqueue_scripts', 'load_external_jQuery');
于 2013-01-30T15:08:56.053 に答える
4

ジェラルドは当たりです。代替バージョンを登録せずに、Wordpress に付属する jQuery の登録を解除しました。

通常、CDN から直接ロードする場合、出荷されたバージョンは削除されます。以下に例を示します。

  wp_deregister_script('jquery');
  wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js', false, '1.7.2');
  wp_enqueue_script('jquery');

登録を解除したい場合は、jQuery に依存する他の JS をエンキューする前に、すぐに別のバージョンを登録する必要があります

于 2013-01-30T15:01:11.677 に答える
3

定数「tz_JS」は正しく定義されていますか? はいと仮定すると、関数を次のように単純化できるはずです。

function named_scripts() {

    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'screen', tz_JS . '/screen.js', array( 'jquery' ) );
    wp_enqueue_script( 'bootstrap', tz_JS . '/bootstrap/bootstrap.js', array( 'jquery' ) );

    wp_enqueue_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), '20120208', 'all' );  

}
add_action( 'wp_enqueue_scripts', 'named_scripts' );

wp_enqueue_scriptsフロントエンド スクリプトをロードするために使用する適切なフックです ( Codex を参照)。管理者側でスクリプトをロードするための対応するフックであるため、is_admin()確認する必要はありません。admin_enqueue_scripts

于 2013-01-30T15:01:10.077 に答える