如何在wordpress子主题中的functions.php上添加多个脚本?

时间:2017-10-06 05:00:19

标签: javascript php jquery wordpress

我确实尝试将我的脚本放在functions.php中,但它没有显示字体awesome和all-script.js但其他脚本无效。我想再添加5个脚本。我怎么做。我想我在这里犯了一些错误。我不是编码员所以我希望你能理解他们。谢谢

//enqueues our locally supplied font awesome stylesheet
function enqueue_our_required_stylesheets(){
    wp_enqueue_style('font-awesome', get_stylesheet_directory_uri() . '/assets/css/font-awesome.min.css'); 
    wp_enqueue_script( 'script', get_stylesheet_directory_uri() . '/assets/js/all-script.js');
    wp_enqueue_script( 'script', get_stylesheet_directory_uri() . '//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js');
    wp_enqueue_script( 'script', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-1.js');
    wp_enqueue_script( 'script', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-2.js');
    wp_enqueue_script( 'script', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-3.js');
    wp_enqueue_script( 'script', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-4.js');
    wp_enqueue_script( 'script', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-5.js');
}
add_action('wp_enqueue_scripts','enqueue_our_required_stylesheets');

3 个答案:

答案 0 :(得分:1)

您需要为每个脚本使用唯一标识符(wp_enqueue_script的第一个参数)。由于您在每种情况下都使用了script,因此WordPress会忽略除第一个之外的所有内容,认为它已经加载了,加载它两次都不明智。

给他们一些有意义的名字,你就可以使用要求(第三个参数),例如告诉wordpress你要加载的这个脚本需要jQuery和OtherScriptOne。如果这些已经注册(请参阅Muhammed Hafil的答案),它们将自动加载并插入您添加的脚本之前。

答案 1 :(得分:1)

尝试以下代码行:

function enqueue_our_required_stylesheets(){
   wp_enqueue_style('font-awesome', get_stylesheet_directory_uri() . '/assets/css/font-awesome.min.css'); 
   wp_enqueue_script( 'script-all', get_stylesheet_directory_uri() . '/assets/js/all-script.js');
   wp_dequeue_script( 'jquery' );
   wp_enqueue_script( 'script-jquery', get_stylesheet_directory_uri() . '//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js');
   wp_enqueue_script( 'script-1', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-1.js');
   wp_enqueue_script( 'script-2', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-2.js');
   wp_enqueue_script( 'script-3', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-3.js');
   wp_enqueue_script( 'script-4', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-4.js');
   wp_enqueue_script( 'script-5', get_stylesheet_directory_uri() . '/libs/jquery/scrpt-5.js');
}
add_action('wp_enqueue_scripts','enqueue_our_required_stylesheets');

答案 2 :(得分:0)

你需要在使用它们之前注册脚本和样式,你应该为每个脚本和样式使用不同的句柄。正确的格式是

    function enqueue_our_required_stylesheets(){
        wp_register_style('font-awesome', get_template_directory_uri() . '/assets/css/font-awesome.min.css');
        wp_enqueue_style('font-awesome');
        wp_register_script('script', get_template_directory_uri(). '/assets/js/all-script.js');
        wp_enqueue_script('script' );

    }

注意:您不需要注册jquery,因为它是由wordpress本身注册的,您可以直接将它们排队而无需注册。您可以在https://developer.wordpress.org/reference/functions/wp_register_script/#core-registered-scripts

的代码中查看wp注册的脚本