如果网站是在移动设备上打开的,我正在尝试将响应css文件排队。
此外,我还想在单击按钮时切换/排队默认或无响应的css文件。无响应css文件是加载到桌面上的默认样式表。
因此,要求如下:
默认情况下,如果用户来自桌面,则应加载非响应站点。默认情况下,应加载响应站点。如果用户来自移动,则应加载响应站点。如果用户单击移动(响应)站点的桌面切换按钮,则应将非响应站点加载到移动中如果用户从移动(非响应)站点单击移动切换按钮,则应加载响应站点我有style.css
(无响应css文件)输入到我的主题目录和responsive css
文件位于主题目录中的文件夹中。
无响应css文件位于:theme-directory/style.css响应式css文件位于:theme-directory/css/responsive.css和我有以下按钮。
<div class="cr-athavan-lang-image">
<a href="?site=mobile" class="mobile_site" id="mobile_site"><img src="file/path/to/img" alt="switch to mobile site"></a>
<a href="?site=desktop" class="desktop_site"><img src="file/path/to/img" alt="switch to desktop site"></a>
</div>
我已将以下代码添加到
functions.php
A. 如果来自移动设备的用户:
if ( wp_is_mobile() ){
function responsive_css(){
wp_enqueue_style(
\'wpa_custom\',
get_template_directory_uri() . \'/css/responsive.css\'
);
}
add_action( \'wp_enqueue_scripts\', \'responsive_css\', 999 );
}
B. 如果用户单击按钮,则加载无响应的站点
function switch_css_file(){
if ($site == \'desktop\'){
function default_css(){
wp_enqueue_style(
\'default_css\',
get_template_directory_uri() . \'/style.css\'
);
}
add_action( \'wp_enqueue_scripts\', \'default_css\', 999 );
}
if ($site == \'mobile\'){
function default_css(){
wp_enqueue_style(
\'default_css\',
get_template_directory_uri() . \'/css/responsive.css\'
);
}
add_action( \'wp_enqueue_scripts\', \'default_css\', 999 );
}
}
add_action(\'init\', \'switch_css_file\', 2);
现在,要求1和2已确定。
默认情况下,如果用户来自桌面,则加载非响应网站。如果用户来自移动设备,则加载响应网站。我不确定功能switch_css_file
是否有效。尚未达到第三和第四个要求。如果我单击desktop_site
按钮该站点已重新加载,但仍处于响应版本。
我如何实现第三个目标(&;第四项要求?
此外,我认为我必须在切换期间设置cookie。当desktop_site
按钮被单击,当mobile_site
已单击。
我该怎么做?
最合适的回答,由SO网友:Riffaz Starr 整理而成
01.改变
if (($site == \'desktop\'){ // code line }
至
if (($site == \'desktop\') && (wp_is_mobile())) { // code line }
02.如果要在浏览器关闭时取消设置cookie,请将时间设置为0(零)或空白。像这样的事情。
setcookie( \'button_clicked\', $_GET[\'button_clicked\'], 0, COOKIEPATH, COOKIE_DOMAIN);