在wordpress中添加条件脚本

时间:2014-03-10 11:37:33

标签: php wordpress-plugin wordpress

如何添加包含插件内部检查的脚本 例如

<!--[if lt IE 9]> 
<script src="<?php echo plugins_url('/js/html5shiv.js'); ?>" type="text/javascript"></script>
<script src="<?php echo plugins_url('/js/css3-mediaqueries.js'); ?>" type="text/javascript"></script> 
<script src="<?php echo plugins_url('/js/respond.js'); ?>" type="text/javascript"></script>   
<![endif]-->  

使用wp_register_script()和wp_enqueue_script('')

4 个答案:

答案 0 :(得分:0)

<?php
    global $is_IE;
    if ( $is_IE ) {
        wp_enqueue_script( 'script', plugins_url.'/js/html5shiv.js' );
        wp_enqueue_script( 'script', plugins_url.'/js/css3-mediaqueries.js' );
        wp_enqueue_script( 'script', plugins_url.'/js/respond.js' );
    }
?>

或者你可以试试这个:

global $wp_scripts;
    wp_register_script( 
    'html5shiv', 
    plugins_url.'/js/html5shiv.js', 
     array(), 
    '1.0'
);
$wp_scripts->add_data( 'html5shiv', 'conditional', 'lt IE 9' );

答案 1 :(得分:0)

This post表示您可以使用!

[if !IE](NOT)运算符

More info here

<?php
global $is_IE;
if ( $is_IE ) {
    wp_enqueue_script( 'script', plugins_url.'/js/html5shiv.js' );
    wp_enqueue_script( 'script', plugins_url.'/js/css3-mediaqueries.js' );
    wp_enqueue_script( 'script', plugins_url.'/js/respond.js' );
}
?>

OR

<!--[if lt IE 9]>
     wp_enqueue_script( 'script', plugins_url.'/js/html5shiv.js' );
        wp_enqueue_script( 'script', plugins_url.'/js/css3-mediaqueries.js' );
        wp_enqueue_script( 'script', plugins_url.'/js/respond.js' );
<![endif]-->
  

浏览器检测布尔

这些全局变量存储有关用户所在的浏览器的数据。

    $is_iphone (boolean) iPhone Safari
    $is_chrome (boolean) Google Chrome
    $is_safari (boolean) Safari
    $is_NS4 (boolean) Netscape 4
    $is_opera (boolean) Opera
    $is_macIE (boolean) Mac Internet Explorer
    $is_winIE (boolean) Windows Internet Explorer
    $is_gecko (boolean) FireFox
    $is_lynx (boolean)
    $is_IE (boolean) Internet Explorer 

答案 2 :(得分:0)

脚本逻辑是一个WordPress插件,可让您完全控制所有JavaScript和CSS文件。使用此插件,您只能在需要的页面上有条件地加载脚本。

http://wordpress.org/plugins/script-logic/

答案 3 :(得分:0)

自WordPress 4.2以来的官方方式:

function my_enqueue_scripts() {
    wp_enqueue_script( 'html5shiv', plugins_url('/js/html5shiv.js') );
    wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' );
    /* repeat for other scripts */
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' );

请参阅https://developer.wordpress.org/reference/functions/wp_script_add_data/