三元函数 - 在写上下文中不能使用函数返回值

时间:2017-08-09 16:32:25

标签: php wordpress

我正在使用三元函数来检查值是否为空。但是它返回致命错误

  

致命错误:无法在写入上下文中使用函数返回值   /home/sommelie/food.toogoodtogo.hu/wp-content/themes/...../woocommerce/config.woocommerce.php   在第551行

 $shipping = !empty(get_post_meta( $restaurant_id, 'delivery_charge', true )) ? get_post_meta( $restaurant_id, 'delivery_charge', true ) : '0.00';

可能出现什么错误?是否有任何错误,我不这么认为,因为它适用于我的服务器但不适用于当前服务器。

我不明白为什么会发生这种情况。这是wordpress主题的一部分。

1 个答案:

答案 0 :(得分:0)

尝试将empty与函数调用

一起使用时遇到了一些麻烦
empty(someFunction());

您应该声明一个变量来存储post medatata。或者,如果第一个调用返回某些内容,您的代码将调用get_post_meta()的2倍。不需要:)

 $postMetadata = get_post_meta( $restaurant_id, 'delivery_charge', true );
 $shipping = !empty($postMetadata) ? $postMetadata : '0.00';