From 1cdc3174ca26edea82108e993bc208d8e8eb9d2a Mon Sep 17 00:00:00 2001 From: pjv Date: Sun, 22 Feb 2015 09:01:37 -0700 Subject: [PATCH] fix BadMethodCallException receiving lines like this in the php error log: Fatal error: Uncaught exception 'BadMethodCallException' with message 'Call to a member function get_formatted_name() on a non-object (boolean)' in /var/www/example.com/htdocs/wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-product-data.php:484\nStack trace:\n#0 /var/www/example.com/htdocs/wp-admin/includes/template.php(1044): WC_Meta_Box_Product_Data::output()\n#1 /var/www/example.com/htdocs/wp-admin/edit-form-advanced.php(600): do_meta_boxes()\n#2 /var/www/example.com/htdocs/wp-admin/post.php(209): include()\n#3 {main} The error resulted in a WSOD when trying to edit some products. --- .../admin/meta-boxes/class-wc-meta-box-product-data.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/includes/admin/meta-boxes/class-wc-meta-box-product-data.php b/includes/admin/meta-boxes/class-wc-meta-box-product-data.php index d4e85c2d1da..e8dccacdbfe 100644 --- a/includes/admin/meta-boxes/class-wc-meta-box-product-data.php +++ b/includes/admin/meta-boxes/class-wc-meta-box-product-data.php @@ -481,7 +481,9 @@ class WC_Meta_Box_Product_Data { foreach ( $product_ids as $product_id ) { $product = wc_get_product( $product_id ); - $json_ids[ $product_id ] = wp_kses_post( $product->get_formatted_name() ); + if ( is_object( $product ) ) { + $json_ids[ $product_id ] = wp_kses_post( $product->get_formatted_name() ); + } } echo esc_attr( json_encode( $json_ids ) ); @@ -494,7 +496,9 @@ class WC_Meta_Box_Product_Data { foreach ( $product_ids as $product_id ) { $product = wc_get_product( $product_id ); - $json_ids[ $product_id ] = wp_kses_post( $product->get_formatted_name() ); + if ( is_object( $product ) ) { + $json_ids[ $product_id ] = wp_kses_post( $product->get_formatted_name() ); + } } echo esc_attr( json_encode( $json_ids ) );