You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP解析错误求助:FB_com.php第15行出现意外逗号

解决PHP语法错误:第15行意外的逗号问题

嘿,我看到你在运行FB_com.php时碰到了第15行的语法报错,咱们马上搞定它!

错误根源分析

这两个问题直接触发了语法错误:

  • 字符串拼接误用符号:你用了逗号,来拼接字符串,但PHP中字符串拼接必须用点运算符.
  • 双引号嵌套冲突:外层用双引号包裹字符串时,内层的双引号没有转义,PHP会把它当成字符串结束标记,引发语法混乱

修正后的关键代码片段

把出错的这两行:

if ($options == 'on') {$attr .= "n xmlns:og=","http://ogp.me/ns#";}
if ($options == 'on') {$attr .= "n xmlns:fb="http://ogp.me/ns/fb#"";}

替换成下面的代码(两种写法任选其一都可以):

写法1:转义内层双引号

if ($options == 'on') {
    $attr .= "\n xmlns:og=\"http://ogp.me/ns#\"";
}
if ($options == 'on') {
    $attr .= "\n xmlns:fb=\"http://ogp.me/ns/fb#\"";
}

写法2:外层用单引号,避免嵌套冲突(更简洁)

if ($options == 'on') {
    $attr .= '\n xmlns:og="http://ogp.me/ns#"';
}
if ($options == 'on') {
    $attr .= '\n xmlns:fb="http://ogp.me/ns/fb#"';
}

额外优化建议

我注意到你代码里有重复的isset判断(比如两次if (!isset($options)) {$options = "";}),可以合并成一次,让代码更简洁:

// 替换重复的isset判断
$options = get_option('fbcomments');
if (!isset($options) || empty($options)) {
    $options = "";
}

完整修正后的代码

这里是整体修正后的完整代码,你可以直接替换使用:

<?php
//ADD XFBML
add_filter('language_attributes', 'fbcomments_schema');
function fbcomments_schema($attr) {
    $options = get_option('fbcomments');
    if (!isset($options) || empty($options)) {
        $options = "";
    }
    if ($options == 'on') {
        $attr .= "\n xmlns:og=\"http://ogp.me/ns#\"";
    }
    if ($options == 'on') {
        $attr .= "\n xmlns:fb=\"http://ogp.me/ns/fb#\"";
    }
    return $attr;
}

//ADD OPEN GRAPH META
function fbgraphinfo() {
    $options = get_option('fbcomments');
    ?>
    <meta property="fb:app_id" content="<?php echo $options; ?>"/>
    <meta property="fb:admins" content="<?php echo $options; ?>"/>
    <?php
}
add_action('wp_head', 'fbgraphinfo');

function fbmlsetup() {
    $options = get_option('fbcomments');
    if (!isset($options) || empty($options)) {
        $options = "";
    }
    if ($options == 'on') {
        ?>
        <!-- Facebook Comments for WordPress -->
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) return;
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/<?php echo $options; ?>/all.js#xfbml=1&appId=<?php echo $options; ?>";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>
        <?php
    }
}
add_action('wp_footer', 'fbmlsetup', 100);

//COMMENT BOX
function fbcommentbox($content) {
    $options = get_option('fbcomments');
    if (!isset($options) || empty($options)) {
        $options = "off";
    }
    // 你原来的代码在这里截断了,后面可以继续补充逻辑
    return $content;
}

内容的提问来源于stack exchange,提问作者EmBeePee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:57:21