我知道revolution-slider有一个响应功能,但不幸的是它仍然会加载桌面上的所有移动资产,反之亦然,为页面加载增加了时间。
所以我更喜欢有两个不同的滑块,每个设备一个。
对此最佳解决方案是什么?
答案 0 :(得分: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
),第二个对于具有相同别名的移动设备 +&#34; _mob&#34; (例如home_mob
)。
参考:
您还可以制作更准确的脚本来检测平板电脑和手机,然后将其用作不同设备类型的条件。
答案 1 :(得分:0)
这对我有用。普通/桌面版本只需要一个[短代码],就会自动选择_mob版本。
if( !function_exists('rev_slider_detection') ) {
function rev_slider_detection( $atts ) {
extract(shortcode_atts(array(
'alias' => ''
), $atts));
$output = '[rev_slider alias="';
if ( !wp_is_mobile() ) {
// For desktop only
$output .= $alias . '"]';
} else {
// For mobile only
$output .= $alias . '_mob"]';
}
return do_shortcode($output);
// or (try this if not working)
// return $output;
}
add_shortcode('my_rev', 'rev_slider_detection');
}
答案 2 :(得分:-1)
echo do_shortcode($ output); //对我有用