使用 WooCommerce 时出错 - 在 $product 上使用 is_type 函数

Posted

技术标签:

【中文标题】使用 WooCommerce 时出错 - 在 $product 上使用 is_type 函数【英文标题】:Error using WooCommerce - using is_type function on $product 【发布时间】:2020-08-23 19:20:27 【问题描述】:

我在使用 WordPress、WooCommerce、Divi 和一个名为 Divi Body Commerce 的插件时遇到了一些问题

当我创建一个可变产品并进入我的购物车时,我遇到了一个 php 错误。 这不是我的代码,但我需要修复它。

这是代码的开头:

<?php
if( ! defined( 'ABSPATH' ) ) exit;

$mydata = get_option( 'divi-bodyshop-woo_options' );

$mydata = unserialize($mydata);

if(isset($mydata['variation_striketrhough'][0])) 

     $variation_striketrhough = $mydata['variation_striketrhough'][0];

else
    $variation_striketrhough = "0";

if ($variation_striketrhough == 1) 
    if ( ! is_admin() ) 

        function wcbv_variation_is_active( $active, $variation ) 
            if( ! $variation->is_in_stock() ) 
                return false;
            
            return $active;
        
        add_filter( 'woocommerce_variation_is_active', 'wcbv_variation_is_active', 10, 2 );
        add_filter( 'woocommerce_variation_option_name', 'customizing_variations_terms_name', 10, 1 );
        function customizing_variations_terms_name( $term_name )

            global $product; 
            if( $product->is_type( 'variable' ) || $product->is_type( 'subscription-variation' ) ) 
                 /*...........*/
            
        
    


?>

当我在变量 product 上调用 is_type 函数时发生错误。

PHP Fatal error:  Uncaught Error: Call to a member function is_type() on null 

我不习惯 WordPress 和 WooCommerce,所以如果有人能回答我,那就太好了。

【问题讨论】:

【参考方案1】:

您可以添加一个额外的检查,通常这将防止错误消息

global $product; 

if ( is_a( $product, 'WC_Product' ) ) 
    if ( $product->is_type( 'variable' ) ) 
        // Continue..
    

【讨论】:

以上是关于使用 WooCommerce 时出错 - 在 $product 上使用 is_type 函数的主要内容,如果未能解决你的问题,请参考以下文章

使用 WooCommerce 产品搜索搜索特定 post_type 表单 post_type 列时出错

Woocommerce商店展示类别

使用查询批量更改 WooCommerce 产品类别?

在 Heroku 配置变量中存储 .p12 文件时出错

尝试使用 RETURNING 和更新/插入从 plpgsql 函数返回时出错

如何在 woocommerce 中获取产品的特色图片