【问题标题】:Error using WooCommerce - using is_type function on $product使用 WooCommerce 时出错 - 在 $product 上使用 is_type 函数
【发布时间】: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,所以如果有人能回答我,那就太好了。

【问题讨论】:

    标签: php wordpress woocommerce product


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多