<?php
if ( is_home() ) {
?>
<script type="text/javascript">
if ($(window).width() < 768) {
document.write("<?php echo do_shortcode("[mobile-slider]"); ?>");
} else {
document.write("<?php echo do_shortcode("[desktop-slider]"); ?>");
}
</script>
我的主页会显示"); } else { document.write("
,然后显示主页滑块,然后显示"); }
。知道为什么吗?
JS错误
SyntaxError:unterminated string literal
文件撰写(“
HTML输出 - 似乎是在添加换行符,我认为这会破坏脚本?
<script type="text/javascript">
if ($(window).width() < 768) {
document.write("
<!--slider-->
即使在document.write("
开放后有换行符,我怎样才能让它继续运行?
我也尝试了以下操作,但仍会在屏幕上打印} else {
。
<script type="text/javascript">
if ($(window).width() < 768) {
<?php echo do_shortcode("[mobile-slider]"); ?>
} else {
<?php echo do_shortcode("[desktop-slider]"); ?>
}
</script>
答案 0 :(得分:0)
以下是解决方案:
<?php
$v1 = do_shortcode("[mobile-slider]");
$v2 = do_shortcode("[desktop-slider]");
function do_shortcode($va){
return "here i am:" . $va;
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
if ($(window).width() < 768) {
$('body').html("<?php echo $v1; ?>");
} else {
$('body').html("<?php echo $v1; ?>");
}
</script>
</head>
<body>
答案 1 :(得分:0)
好的,所以我通过以下方式解决了这个问题。
使用JS,如果屏幕宽度小于768px,我将变量设置为1.使用PHP,我将相应地检查该变量和echo
。
答案 2 :(得分:0)
根本不依赖PHP来生成滑块会更容易和更清洁。
将容器元素放在希望滑块显示在页面中的位置:
<div id="slider-ct"></div>
然后使用JavaScript生成滑块(显然,您可以将代码组织到模块中,但这只是一个示例):
$(function () {
var $sliderCt = $('#slider-ct');
if ($(window).width() < 768) {
$sliderCt.html('mobile slider');
return;
}
$sliderCt.html('desktop slider');
});
答案 3 :(得分:-1)
这条线就是原因。
"<?php echo do_shortcode("[mobile-slider]"); ?>"
您需要转义解释器,或者您需要更改字符串连接以在某处使用“代替”。