1
我知道revolution-slider有一个响应功能,但不幸的是,它仍然会加载桌面上的所有移动资产,反之亦然,这为页面加载增加了时间。如何为仅移动设备加载特定的Slider Revolution?
所以我宁愿有2个不同的滑块,每个设备一个。
这是最好的解决方案是什么?
我知道revolution-slider有一个响应功能,但不幸的是,它仍然会加载桌面上的所有移动资产,反之亦然,这为页面加载增加了时间。如何为仅移动设备加载特定的Slider Revolution?
所以我宁愿有2个不同的滑块,每个设备一个。
这是最好的解决方案是什么?
这取决于您如何在页面中设置revslider。
我认为最好的方式来实现你真正想要的(需求)是使用PHP与条件规则:基于移动检测
1)在有条件的模板。这样你就可以避免同时加载2 revslider。
你可以使用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
)。
参考:
您也可以制定一个更精确的脚本来检测平板电脑和手机,然后把它作为一个条件为不同的设备类型。
我认为应该提到的是,虽然这个答案中的一般方法是正确的,但'wp_is_mobile()'是一个近乎无用的函数。它不应该成为WordPress目前形式的一部分。 –