php WordPress:使用队列加载多个脚本

yvt65v4c  于 2023-05-05  发布在  PHP
关注(0)|答案(4)|浏览(92)

我试图加载jQuery和其他脚本到页眉(或者应该是页脚),我有jQuery工作排序,我可以得到一个警报框运行。
问题是,jquery-2.0.3.min.js没有加载,我不知道我是否正确地执行了入队。jquery-1.10.2已加载。另外,另一个脚本也没有加载。对于两个脚本(2.0.3和其他脚本),这是在最后:?ver=3.6.1
另外,我阅读到它可能是更好的加载到一个函数?
任何帮助将不胜感激!

function load_jquery() {
    wp_register_script( 'jquery_script', get_template_directory_uri() . 'js/jquery-2.0.3.min.js', array( 'jquery' ) );
    wp_enqueue_script( 'jquery_script' );
}
add_action( 'init', 'load_jquery' ); // end jQuery

function another() {
    wp_register_script( 'another_script', get_template_directory_uri() . 'js/another.js', array( 'jquery' ) );
    wp_enqueue_script( 'another_script' );

}
add_action( 'init', 'another' );
ruarlubt

ruarlubt1#

第一件事jquery在那里默认在wordpress所以你不必注册它,只是入队
大多数jquery ui库和核心jquery文件已经在wordpress注册了,所以你只需要用右句柄look here enqueue script排队
wp_enqueue_script用于将脚本入队,wp_enqueue_style用于将样式入队
调用自定义js时,最好先注册script或style,然后再使用
wp_register_script//注册脚本
wp_register_style//注册样式
然后使用wp_enqueue_scriptwp_enqueue_style入队
下面是我站点中整个流程的示例代码片段

function pr_scripts_styles() {

    wp_enqueue_script('jquery'); // just enqueue as its already registered 
    if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
        wp_enqueue_script( 'comment-reply' );

    /*   REGISTER ALL JS FOR SITE */
    wp_register_script('pr_cycle_all',get_stylesheet_directory_uri().'/js/pr-slider.js');
    wp_register_script('pr_slider',get_stylesheet_directory_uri().'/js/jquery.cycle.all.min.js');
    wp_register_script('pr_validation_engine',get_stylesheet_directory_uri().'/js/jquery.validationEngine-en.js');
    wp_register_script('pr_validation_locale',get_stylesheet_directory_uri().'/js/jquery.validationEngine.js');
    wp_register_script('stylethemes',get_stylesheet_directory_uri().'/js/stylethemes.js');
    wp_register_script('pr-jquery-ui',get_stylesheet_directory_uri().'/js/jquery-ui.js');
    wp_register_script('main-js',get_stylesheet_directory_uri().'/js/main.js');
    wp_register_script('pr-galleriffic',get_stylesheet_directory_uri().'/js/jquery.galleriffic.js');
    wp_register_script('pr-rollover',get_stylesheet_directory_uri().'/js/jquery.opacityrollover.js');
    wp_register_script('pr_colorbox',get_stylesheet_directory_uri().'/js/jquery.colorbox.js');
    wp_register_script('pr_jcarousel_js',get_stylesheet_directory_uri().'/js/jquery.jcarousel.min.js');

    //wp_register_script('google-map-api','https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false');


    /*   REGISTER ALL CSS FOR SITE */
    wp_register_style('pr_woocommerce',get_stylesheet_directory_uri().'/css/_woocommerce.css');
    wp_register_style('pr_mobile',get_stylesheet_directory_uri().'/css/mobile.css');
    wp_register_style('pr_sec_teal_grey',get_stylesheet_directory_uri().'/css/secondary-teal-grey.css');
    wp_register_style('pr_site_options',get_stylesheet_directory_uri().'/css/site-options.css');
    wp_register_style('pr_teal_grey',get_stylesheet_directory_uri().'/css/teal-grey.css');
    wp_register_style('validation_css',get_stylesheet_directory_uri().'/css/validationEngine.jquery.css');
    wp_register_style('galleriffic_css',get_stylesheet_directory_uri().'/css/galleriffic.css');
    wp_register_style('pr_colorbox_style',get_stylesheet_directory_uri().'/css/colorbox.css');
    wp_register_style('pr_jcarousel_css',get_stylesheet_directory_uri().'/css/jcarouselskin.css');


    /*   CALL ALL CSS AND SCRIPTS FOR SITE */
    wp_enqueue_script('pr-jquery-ui');
    wp_enqueue_script('stylethemes');

    wp_enqueue_script('pr_cycle_all');

    wp_enqueue_script('pr_slider','','','',true);
    wp_enqueue_script('pr_validation_engine');
    wp_enqueue_script('pr_validation_locale');
    wp_enqueue_script('google-map-api');
    wp_enqueue_script('main-js');
    wp_enqueue_script('pr-galleriffic');
    wp_enqueue_script('pr-rollover');
    wp_enqueue_script('pr_colorbox');

    wp_enqueue_style( 'pr-style', get_stylesheet_uri(), array(), '2013-07-18' );
    wp_enqueue_style('pr_site_options');
    wp_enqueue_style('pr_woocommerce');
    wp_enqueue_style('pr_mobile');
    wp_enqueue_style('pr_sec_teal_grey');
    wp_enqueue_style('pr_teal_grey');
    wp_enqueue_style('validation_css');
    wp_enqueue_style('galleriffic_css');
    wp_enqueue_style('pr_colorbox_style');
    if(is_single()){
        wp_enqueue_script('pr_jcarousel_js');
        wp_enqueue_style('pr_jcarousel_css');
    }
}
add_action( 'wp_enqueue_scripts', 'pr_scripts_styles' );

还记得用wp_enqueue_scripts挂接你的函数,以便脚本和样式正确加载add_action( 'wp_enqueue_scripts', 'pr_scripts_styles' );

m1m5dgzv

m1m5dgzv2#

这适用于我使用子主题时,只是一定要使用不同的名称的脚本:

function my_scripts_method() {

    wp_enqueue_script(
        'script-name1',
        get_stylesheet_directory_uri() . '/some-script.js',
        array( 'jquery' )
    );
    wp_enqueue_script(
        'script-name2',
        get_stylesheet_directory_uri() . '/another-script.js',
        array( 'jquery' )
    );

}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
u59ebvdq

u59ebvdq3#

这就是我如何添加样式和脚本工程伟大的我。但我建议在使用它之前先理解它,然后任何人都可以按照这种方法有自己的方式。

function theme_files() {
        $styles = [
            ['handle' => 'style', 'src' => '../style.css', 'deps' => false, 'media'=>"all"],
            ['handle' => 'bootstrap', 'src' => 'bootstrap.min.css', 'deps' => false, 'media'=>"all"],
            ['handle' => 'font_awesome', 'src' => 'font-awesome.min.css', 'deps' => false, 'media'=>"all"],
            ['handle' => 'animate', 'src' => 'animate.min.css', 'deps' => false, 'media'=>"all"],
            ['handle' => 'lightbox', 'src' => 'lightbox.css', 'deps' => false, 'media'=>"all"],
            ['handle' => 'main', 'src' => 'main.css', 'deps' => false, 'media'=>"all"],
            ['handle' => 'responsive', 'src' => 'responsive.css', 'deps' => false, 'media'=>"all"]
        ];
        for ($i = 0; $i < sizeof($styles); $i++) {

            wp_enqueue_style($styles[$i]['handle'], get_template_directory_uri() . '/css/' . $styles[$i]['src'], $styles[$i]['deps'], $styles[$i]['media'] );

        }

        $scripts = [
            ['handle' => 'bootstrap', 'src'=>'bootstrap.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
            ['handle' => 'lightbox', 'src'=>'lightbox.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
            ['handle' => 'wow', 'src'=>'wow.min.js','dep'=> array( 'jquery' ),'var'=> false,'in_foot'=> true],
            ['handle' => 'main', 'src'=>'main.js', 'dep'=>array( 'jquery' ), 'var'=>false, 'in_foot'=>true]
        ];

        for ($i=0; $i < sizeof($scripts); $i++) {

            wp_enqueue_script( $scripts[$i]['handle'], get_template_directory_uri() . '/js/' . $scripts[$i]['src'], $scripts[$i]['dep'], $scripts[$i]['ver'], $scripts[$i]['in_foot'] );    

        }
    }
    add_action( 'wp_enqueue_scripts', 'theme_files' );
nwwlzxa7

nwwlzxa74#

将此代码添加到您的子主题函数.php中

function childthemename_scripts() {
 wp_enqueue_style( 'Child_Theme-style', get_stylesheet_uri(), array(), _S_VERSION );
 wp_style_add_data( 'Child_Theme-style', 'rtl', 'replace' );

 wp_enqueue_script( 'Child_Theme-libraries', get_template_directory_uri() . '/app.js', array(), _S_VERSION, true );
 wp_enqueue_script(
    'custom-js',
    get_template_directory_uri() . '/js/custom.js',
    array( 'jquery' )
);
} add_action( 'wp_enqueue_scripts', 'childthemename_scripts' );

在您的jQuery文件中

jQuery(document).ready(function( $ ) {
 //console.log($);
 // NOW $ will start working try uncommenting above console
});

相关问题