我想将一个.js文件加入到我的子主题中

时间:2015-02-05 作者:MrKainig

我试着让一个客户排队。我的子主题目录中的js文件。

在函数中。我的孩子主题的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/文件夹中的js

wp_enqueue_script( \'custom-script.js\', \'js/custom-script.js\', array(\'jquery\') );
不幸的是,它没有这样做,有人能帮忙吗?

*更新2

代码现在看起来是这样的,它可以工作,当我刚刚将函数添加到另一个add\\u操作时,它没有工作。谢谢大家的帮助!我仍然想知道是否有一种方法可以稍微减少这段代码。

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\' );
有必要吗?

3 个回复
最合适的回答,由SO网友:Brad Dalton 整理而成

下面是一个工作示例:

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() 将仅在父主题中工作。

SO网友:Adam Lavery

检查你的把手!如果选择已在其他地方使用的句柄,则脚本可能无法加载。如果所有内容看起来都正确,没有错误,但没有加载脚本,请使用相同的句柄检查安装是否有其他内容。

在我的例子中,当我通过一个孩子的主题来扩展父母时,我(事后诸葛亮!)坚持与父级相同的命名约定。吸取教训!

SO网友:jozef koko

我通常是这样做的:

转到子主题

在子主题内创建js文件夹创建脚本。js文件夹中的js文件,然后将此代码粘贴到脚本中。js文件:

add_action( \'wp_enqueue_scripts\', \'custom_scripts\', 10 );
function custom_scripts() {
    wp_enqueue_script(\'custom_javascript\', get_stylesheet_directory_uri() . \'/js/script.js\', array(\'jquery\'), \'1.0.0\', true );
}

结束