-2

我正在尝试使用一些 PHP,但我似乎无法弄清楚以下内容。

我可以通过 PHP 连接创建一个字符串:

echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";

但是如果你想用一个变量来做这件事呢?(我猜WP的函数可以称为变量。)我在这里很迷茫。以下不起作用。或者至少,我的文本编辑器抛出了一个未知错误。

<?php
if ( is_404() ) {
    echo "<script src='" . get_stylesheet_directory_uri(); . "/sm/script/soundmanager2-nodebug-jsmin.js'></script>
<script>
soundManager.setup({
  url: '" . get_stylesheet_directory_uri(); . "/sm/swf/',
  onready: function() {
    var mySound = soundManager.createSound({
      id: 'aSound',
      url: 'http://www.mysite.com/sound.mp3',
      volume: '25'
    });
    mySound.play();
  },
  ontimeout: function() {

  }
});
</script>"
}
?>
4

5 回答 5

3

这里出错了:

rc='" . get_stylesheet_directory_uri(); . "/s

;的句子中间有一个。同样在你的字符串的末尾你没有;

正确的语法

<?php
if ( is_404() ) {
    echo "<script src='" . get_stylesheet_directory_uri() . "/sm/script/soundmanager2-nodebug-jsmin.js'></script>
<script>
soundManager.setup({
  url: '" . get_stylesheet_directory_uri() . "/sm/swf/',
  onready: function() {
    var mySound = soundManager.createSound({
      id: 'aSound',
      url: 'http://www.mysite.com/sound.mp3',
      volume: '25'
    });
    mySound.play();
  },
  ontimeout: function() {

  }
});
</script>";
}
?>
于 2013-04-22T17:18:18.067 回答
1

您还可以更改方法以避免此类问题。您可以将 PHP 嵌入到 HTML 关闭和打开 PHP 标记中,而不是将 HTML 嵌入到 PHP 中:

<?php if ( is_404() ) { ?>
<script src="<?php echo get_stylesheet_directory_uri(); ?>/sm/script/soundmanager2-nodebug-jsmin.js"></script>
<script>
    soundManager.setup({
        url: "<?php echo get_stylesheet_directory_uri(); ?>/sm/swf/",
        onready: function() {
            var mySound = soundManager.createSound({
                id: 'aSound',
                url: 'http://www.mysite.com/sound.mp3',
                volume: '25'
            });
            mySound.play();
        },
        ontimeout: function() {

        }
    });
</script>
<?php } ?>
于 2013-04-22T17:24:55.237 回答
0

尝试这个

    if ( is_404() ) {
    echo "<script src='" . get_stylesheet_directory_uri(). "/sm/script/soundmanager2-nodebug-jsmin.js'></script>
    <script>
    soundManager.setup({
    url: '" . get_stylesheet_directory_uri(). "/sm/swf/',
    onready: function() {
    var mySound = soundManager.createSound({
    id: 'aSound',
    url: 'http://www.mysite.com/sound.mp3',
    volume: '25'
});
mySound.play();
},
ontimeout: function() {

}
});
</script>";
}

您正在添加;在不正确的代码之间。

于 2013-04-22T17:19:23.073 回答
0

如果你简单地保存函数的返回值,你可以省去很多麻烦:

<?php
if ( is_404() ) {
$temp = get_stylesheet_directory_uri();
    echo "<script src='$temp/sm/script/soundmanager2-nodebug-jsmin.js'></script>
<script>
soundManager.setup({
  url: '$temp/sm/swf/',
  onready: function() {
    var mySound = soundManager.createSound({
      id: 'aSound',
      url: 'http://www.mysite.com/sound.mp3',
      volume: '25'
    });
    mySound.play();
  },
  ontimeout: function() {

  }
});
</script>"
}
?>
于 2013-04-22T17:33:55.940 回答
0

尝试这个:

<?php
if ( is_404() ) {
echo "<script src='" . get_stylesheet_directory_uri() . "/sm/script/soundmanager2-nodebug-jsmin.js'></script>
<script>
soundManager.setup({
  url: '" . get_stylesheet_directory_uri() . "/sm/swf/',
  onready: function() {
  var mySound = soundManager.createSound({
  id: 'aSound',
  url: 'http://www.mysite.com/sound.mp3',
  volume: '25'
});
mySound.play();
  },
  ontimeout: function() {

}
});
</script>";
}
?>
于 2013-04-22T17:21:13.613 回答