wp_enqueue_script - 源代码中未显示其他Jquery

时间:2017-01-16 20:33:45

标签: wordpress wordpress-theming

我能够将bootstrap.min.js依赖于原生wordpress jquery,但Jquery 1.11.1没有出现在源代码中,而Font Awesome也无法正常工作

我在stackoverflow中尝试过其他问题的一些代码,但我仍然无法解决我的问题

我在下面的代码中添加了一些注释:

更新代码

function enqueue_jquery() {
     // deregister jquery ok 
     wp_deregister_script('jquery'); // unregister the WP-provided jQuery   version

    // tag is not added in code
wp_enqueue_script(
    'jquery',
    get_template_directory_uri() . '/js/jquery.js',
    array(), // don't make jquery dependent on jquery...!
    '1.11.1',
    true
);

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

function enqueue_styles_scripts() {

    //its OK
    wp_enqueue_style(
        'style-theme',
        get_stylesheet_uri(),
        array('bootstrap-css')
    );

    //its OK
    wp_enqueue_style(
        'bootstrap-css',
        get_template_directory_uri() . '/css/bootstrap.min.css'
    );

    //its OK
    wp_enqueue_style(
        'stylish-portfolio',
        get_template_directory_uri() . '/css/othercss.css'
    );

 //I changed the directory of the files to css and fonts folders and it worked correctly
    wp_enqueue_style(
        'font-awesome',
        get_stylesheet_directory_uri() . '/css/font-awesome.css'

    ); 


    //Appears in header but is working correctly
    wp_enqueue_script(
        'bootstrap-js',
        get_template_directory_uri() . '/js/bootstrap.min.js',null
    );


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


//Its Ok    
function wpse_ie_conditional_scripts() { ?>
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
    <?php
}
add_action( 'wp_head', 'wpse_ie_conditional_scripts' );

?>

2 个答案:

答案 0 :(得分:1)

所以问题在于&#39; jquery&#39;已经注册并由WP排队。我过去所做的是首先取消注册WP提供的jquery,然后将我自己的版本排入队列。 警告:彻底测试一下,因为您现在将为整个WP安装升级jQuery!

wp_deregister_script('jquery'); // unregister the WP-provided jQuery version
wp_enqueue_script(
    'jquery',
    get_template_directory_uri() . '/js/jquery.js',
    array(), // don't make jquery dependent on jquery...!
    '1.11.1',
    true
);

或者,您可以在无冲突模式下加载第二个版本的jQuery,但这不是一个好主意......

希望这有帮助!

答案 1 :(得分:0)

我能够在不使用函数的情况下解析注册本机wordpress jquery并注册我的主题jquery

    //Without using function
    wp_deregister_script('jquery');
    wp_register_script('jquery', get_template_directory_uri() . '/js/jquery.js', false, '1.11.1');
    wp_enqueue_script('jquery');

        function enqueue_styles_scripts() {

            //its OK
            wp_enqueue_style(
                'style-theme',
                get_stylesheet_uri(),
                array('bootstrap-css')
            );

            //its OK
            wp_enqueue_style(
                'bootstrap-css',
                get_template_directory_uri() . '/css/bootstrap.min.css'
            );

            //its OK
            wp_enqueue_style(
                'stylish-portfolio',
                get_template_directory_uri() . '/css/othercss.css'
            );

        //its OK
            wp_enqueue_style(
                'font-awesome',
                get_stylesheet_directory_uri() . '/css/font-awesome.css'

            ); 


           //its OK
            wp_enqueue_script(
                'bootstrap-js',
                get_template_directory_uri() . '/js/bootstrap.min.js',null
            );


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


        //Its Ok    
        function wpse_ie_conditional_scripts() { ?>
            <!--[if lt IE 9]>
                <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
                <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
            <![endif]-->
            <?php
        }
        add_action( 'wp_head', 'wpse_ie_conditional_scripts' );

        ?>