Support » Plugin: Perfect Brands for WooCommerce » Fatal Error, related to WP_Post (I think I solved it)

  • Resolved mcziel

    (@mcziel)


    Hi,

    I am not pretty sure if it started to happen after an update, but, I’m getting the error below.

    Error Details
    =============
    An error of type E_ERROR was caused in line 21 of the file HIDDENPATH/wp-content/plugins/perfect-woocommerce-brands/classes/admin/class-pwb-coupon.php. Error message: Uncaught Error: Call to undefined method WP_Post::get_ID() in HIDDENPATH/wp-content/plugins/perfect-woocommerce-brands/classes/admin/class-pwb-coupon.php:21
    Stack trace:
    #0 HIDDENPATH/wp-includes/class-wp-hook.php(309): Perfect_Woocommerce_Brands\Admin\PWB_Coupon->coupon_restriction()
    #1 HIDDENPATH/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters()
    #2 HIDDENPATH/wp-includes/plugin.php(476): WP_Hook->do_action()
    #3 HIDDENPATH/wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php(282): do_action()
    #4 HIDDENPATH/wp-admin/includes/template.php(1401): WC_Meta_Box_Coupon_Data::output()
    #5 HIDDENPATH/wp-admin/edit-form-advanced.php(688): do_meta_boxes()
    #6 HIDDENPATH/wp-admin/post.php(206): require('/home/forge/sta...')
    #7 {main}
      thrown

    I solved it commenting this some code in plugins/perfect-woocommerce-brands/classes/admin/class-pwb-coupon.php in line 21:

    //$thepostid = empty( $thepostid ) ? $post->get_ID() : $thepostid;
                    // Post ID Workaround
                    if(empty($thepostid)){
                            $thepostid = is_callable( array( $post, 'get_ID' ) ) ? $post->get_ID() : $post->ID;
                    } else {
                            $thepostid = $thepostid;
                    }
                    // End Post ID Workaround

    I think WP_Post does not have the method named get_ID.

    https://developer.wordpress.org/reference/classes/wp_post/

Viewing 4 replies - 1 through 4 (of 4 total)
  • Hey,

    Same critical error here,
    In emergency I just did $thepostid = get_the_ID(); and it works.

    Waiting for an urgent update for this plugin.

    • This reply was modified 1 week, 3 days ago by mathgwa.

    Me funcionó comentar la línea 21, gracias, lo necesitaba urgente pues los cupones no me restringian por marca.

    Happy to know I’m not the only one. Please release an update to fix this so we don’t risk breaking the website by tweaking the code.

    Thanks

    Plugin Author quadlayers

    (@quadlayers)

    hello guys
    please update to 2.2.3

Viewing 4 replies - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.