我的Wordpress上有一个插件,当用户在移动设备上时,我想阻止它。在我的functions.php中,我添加了一行:
if (wp_is_mobile())
{
wp_dequeue_script('flare');
wp_deregister_script('flare');
}
不幸的是,这使得移动和桌面用户都无法加载该脚本。因此,如果他们在移动设备上,我需要找到一种方法来卸载这个脚本。
我在帖子模板中使用了类似的功能,如果在手机上,可以在帖子底部添加常规的共享按钮,但这也不起作用。它为移动和桌面用户添加了共享按钮。
如有任何帮助,我们将不胜感激!
试试这个。。。
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) {
//Mobile browser do stuff here
} else {
//Do stuff here
}
你好,除了@jay bhatt之外,请检查您的函数.php以获取过滤器
wp_is_mobile
代码可能看起来像
add_filter( 'wp_is_mobile', 'custom_detection_code', 99, 1 );
然后想想Jay bhatt的答案
我认为脚本dequeuing
调用应该添加到wp_print_scripts
操作挂钩中。
脚本通常在wp_enqueue_script
挂钩上排队,这发生在wp_head
进程的早期。wp_print_scripts
挂钩发生在脚本打印之前。所以我认为你应该这样做:
function deque_my_scripts () {
wp_dequeue_script('flare');
wp_deregister_script('flare');
}
if (wp_is_mobile())
{
add_action('wp_print_scripts','deque_my_scripts');
}
您也可以将动作挂钩添加到wp_enqueue_scripts
所以另一种方法是
if (wp_is_mobile())
{
add_action('wp_enqueue_scripts','deque_my_scripts', 20);
}
希望这能帮助你:-)