web-dev-qa-db-ja.com

子テーマに.jsファイルをエンキューしたい

私は自分の子テーマディレクトリにカスタム.jsファイルをエンキューしようとしました。

私の子供のテーマのfunctions.phpで私は次のコードを見つけます

/* After this. you can override Accessible Zen's pluggable functions or add your own.
 * Remember, do your best to stay accessible! :)
 *
 */
 add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_script( 'custom-script.js', 'js/custom-script.js', array('jquery') );
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );
}

この部分だけが私によって実装されていて、js /フォルダーから私のcustom.script.jsをロードするはずです。

wp_enqueue_script( 'custom-script.js', 'js/custom-script.js', array('jquery') );

残念ながらそうではありません、誰かが助けることができますか?

*アップデート2

コードはこのようになり、動作します。他のadd_actionに関数を追加しただけでは動作しませんでした。みんな助けてくれてありがとう!それでも私はこのコードを少しカットする方法がないかどうか疑問に思います。

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );
}

/*add my custom jquery script*/
add_action( 'wp_enqueue_scripts', 'menu_scripts' );
function menu_scripts() {
wp_enqueue_script( 'responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
wp_enqueue_script(
    'custom-script',
    get_stylesheet_directory_uri() . '/js/custom-script.js',
    array( 'jquery' )
);
        }

この行は何のためのものですか?

wp_enqueue_script( 'responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );

必要ですか?

14
MrKainig

これが実用的な例です。

add_action( 'wp_enqueue_scripts', 'menu_scripts' );
function menu_scripts() {
wp_enqueue_script( 'responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
wp_enqueue_script(
    'custom-script',
    get_stylesheet_directory_uri() . '/js/custom_script.js',
    array( 'jquery' )
);
        }

あるいは、このように速くロードされるようです。

function my_scripts_method() {
    wp_enqueue_script(
        'custom-script',
        get_stylesheet_directory_uri() . '/js/custom_script.js',
        array( 'jquery' )
    );
}

add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

出典 http://codex.wordpress.org/Function_Reference/wp_enqueue_script

get_template_directory_uri() は親テーマでのみ機能します。

25
Brad Dalton