服务器上出现MarketPress php警告,本地主机上没有问题

时间:2012-12-12 作者:marctain

我的职能中有这一点。使用Marketpress插件创建购物车小部件的php。

<?php function marketpress_get_cart_subtotal($format_currency=true) {
    global $mp;

    $selected_cart = $mp->get_cart_contents(true);
    if (!$selected_cart) return;

    foreach ($selected_cart as $bid => $cart) {

        if (is_multisite())
            switch_to_blog($bid);

        foreach ($cart as $product_id => $variations) {
            foreach ($variations as $variation => $data) {
                $totals[] = $mp->before_tax_price($data[\'price\'], $product_id) * $data[\'quantity\'];
            }
        }

        //go back to original blog
        if (is_multisite())
            switch_to_blog($current_blog_id);

    }
    $total = array_sum($totals);
    if ($total > 0)
        return $mp->format_currency(\'\', $total);
    else
        return \'$0.00\';
}
?>
这在本地MAMP上运行良好,但当我将其上载到服务器时,我得到的是“警告:array\\u sum()期望参数1为array,null given infunctions.php on line 255”,而不是购物车总数。

代码有什么问题,为什么本地主机上的同一文件和在线服务器上的同一文件之间存在差异?

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

这可能是因为PHP的版本不同,或者错误日志的配置不同。假设您有相同的环境(购物车状态、博客状态、登录用户状态等)

要解决此问题,请在函数的开头使用空数组初始化$totals。

并且,如果您想为localhost显示错误,请在localhost上将WP\\u DEBUG常量设置为true(在WP config.php中)。您可能还需要致电error_reporting(E_ALL) 在脚本的顶部。

希望它能解决你的问题。

结束

相关推荐

“WARNING:CALL_USER_FUNC_ARRAY()[Function.call-User-Func-ARRAY]:”以上备注表单

我正在为一个朋友建立一个网站,在评论栏上方有一条警告消息,我一直在努力寻找,如果你能提供帮助,我将非常感激。我在Wordpress Codex上问过,但遗憾的是没有人回应。警告:call\\u user\\u func\\u array()[函数.call user func array]:第一个参数应为有效回调,“tl\\u spam\\u free\\u wordpress\\u comments\\u form”在/home/euanmitc/public\\u html/wp includes/p