WooCommerce WC() - >会话级>得到的是没有得到认可(WooCommer

2019-10-23 11:51发布

我们已经建立,其中用户输入优惠券代码的网站,它通过创建的名字的cookie记录它们在couponid ,那么我们保存cookie发送到WooCommerce会话,因为该cookie实际上是从显示在产品类别ID 。

现在有时产品得到展示,有时没有,每当我们自定义的cookie被浏览器设置,我们去/wp-admin登录,它为我们提供了以下错误:

致命错误:调用一个成员函数的get()一个非对象

WordPress的的登录屏幕上的上述错误是从我们下面的函数来functions.php文件:

function gfc_insert_coupon_code_to_session(){

if( 
    is_user_logged_in() 
    || ! array_key_exists( 'couponid', $_COOKIE ) 
    || WC()->session->get( 'couponid', 0 )
){
    return;
}

$couponID = esc_attr( $_COOKIE['couponid'] );

    if( $couponID ){
        WC()->session->set( 'couponid', $couponID );
    }
}

add_action( 'woocommerce_init', 'gfc_insert_coupon_code_to_session' );

Answer 1:

尝试使用:

WC()->session->set( 'couponid', $couponID );

拨打电话之前:

WC()->session->get( 'couponid', 0 )


Answer 2:

测试你是在后台, WC()->session未设置:

if( !is_admin() ) {


Answer 3:

if( !is_admin() ) { ... }修复

做的工作对我来说。 我改变了电子邮件模板,如果我试图从后端重新发送电子邮件,我收到此错误。 因此,管理员修复好。



文章来源: WooCommerce WC()->session->get is not getting recognized