2016-06-06 37 views

回答

2

这取决于您如何在页面中设置

我认为最好的方式来实现你真正想要的(需求)是使用PHP与条件规则:基于移动检测

1)在有条件的模板。这样你就可以避免同时加载2

你可以使用wp_is_mobile()条件WordPress的功能用于此目的:

<?php 
    if (!wp_is_mobile()) { 
     echo do_shortcode('[rev_slider alias="my_desktop_slider"]'); 
    } 
    else 
    { 
     // mobile devices 
     echo do_shortcode('[rev_slider alias="my_mobile_slider"]'); 
    } 
?> 

2)在自定义简码与条件:

if(!function_exists('rev_slider_detection')) { 

    function rev_slider_detection($atts) { 

     extract(shortcode_atts(array(
      'alias' => '' // the alias name of your desktop rev-slider 
     ), $atts)); 

     $output = '[rev_slider alias="'; 

     if (!wp_is_mobile()) { 
      // For desktop only 
      $output .= $alias . '"]'; 
     } else { 
      // For mobile only 
      $output .= $alias . '_mob"]'; 
     } 

     return $output; 
     // or (because untested) 
     // return do_shortcode('" . $output . "'); 
    } 

    add_shortcode('my_rev', 'rev_slider_detection'); 
} 

你会使用这种方式:[my_rev alias="my_revslider_alias_slug"]会让你需要有2个rev滑块实例,第一个用于带有别名的桌面(例如home),第二个用于具有相同别名的移动设备+“_mob”(例如home_mob)。

参考:

您也可以制定一个更精确的脚本来检测平板电脑和手机,然后把它作为一个条件为不同的设备类型。

+0

我认为应该提到的是,虽然这个答案中的一般方法是正确的,但'wp_is_mobile()'是一个近乎无用的函数。它不应该成为WordPress目前形式的一部分。 –