短码函数中的语法错误

时间:2015-02-05 作者:Mr. B

我试图在一个短代码函数中实现一个taboola ad单元,但我遇到了一个语法错误。下面是创建短代码的函数。代码在我的函数中。php文件。

有人能帮我找出“为什么”我会出错并帮我改正吗?

/**
 * in article placement
 */

function contentMid(){
return \'<div id="xxxx-xxxxxx"></div>
<script type="text/javascript">
  window._taboola = window._taboola || [];
  _taboola.push({
    mode: \'xxxxxxx-xxxxx\',
    container: \'xxxxxx-xxxxxxx\',
    placement: \'one word word\',
    target_type: \'mix\'
  });
</script>\';
}
add_shortcode(\'contentMid\', \'contentMid\');

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

您需要转义引号,或使用double,或使用heredoc:

// Escaped
return \'<div id="xxxx-xxxxxx"></div>
<script type="text/javascript">
    window._taboola = window._taboola || [];
    _taboola.push({
        mode: \\\'xxxxxxx-xxxxx\\\',
        container: \\\'xxxxxx-xxxxxxx\\\',
        placement: \\\'one word word\\\',
        target_type: \\\'mix\\\'
    });
</script>\';

// Doubles
return \'<div id="xxxx-xxxxxx"></div>
<script type="text/javascript">
    window._taboola = window._taboola || [];
    _taboola.push({
        mode: "xxxxxxx-xxxxx",
        container: "xxxxxx-xxxxxxx",
        placement: "one word word",
        target_type: "mix"
    });
</script>\';

// Heredoc
return <<<html
<div id="xxxx-xxxxxx"></div>
<script type="text/javascript">
    window._taboola = window._taboola || [];
    _taboola.push({
        mode: "xxxxxxx-xxxxx",
        container: "xxxxxx-xxxxxxx",
        placement: "one word word",
        target_type: "mix"
    });
</script>
html;

结束

相关推荐

为什么我导入的数据库没有显示?将弹出install.php并将新表添加到数据库中

我将live sites SQL备份导入到Xampp中。我已命名新数据库wordpress 和已配置wp-config.php 使用数据库名称wordpress, 使用者root, 密码为空。然后我转到localhost/wordpress,它提示我install.php 我输入了网站名称、用户、密码、电子邮件等。然后我登录,发现我的帖子不在那里。所以我检查了数据库,添加了一组新表。所以我选择了所有的备份,并删除了它们,希望它能激活我在那里的备份。没有运气。我去了localhost/wordpressin