当我尝试使用以下代码获取产品名称时出现内部服务器错误:
// I get product ID from the database in the $product_id variable
$product_factory = new WC_Product_Factory();
$product = $product_factory ->get_product($product_id);
我收到此错误:
“PHP致命错误:未捕获错误:在布尔值中调用成员函数get_name()...”
只需在调用get_name()
函数之前添加if语句,因为可能在某些时候你的查询没有返回产品ID,这意味着你的产品是null
而你不能在null上调用get_name()
这就是你得到这个错误的原因。
所以你的代码应该是这样的:
$product_factory = new WC_Product_Factory();
$product = $product_factory->get_product($product_id);
if ($product) {
echo $product->get_name();
}