In WooCommerce, when I add couple of code lines to change the product description, on product status change, the website throw an error when submitting (saving).
My code:
add_action('transition_post_status', 'new_product_add', 10, 3);
function new_product_add($new_status, $old_status, $post) {
if(
$old_status != 'publish'
&& $new_status == 'pending'
&& !empty($post->ID)
&& in_array( $post->post_type,
array( 'product')
)
) {
$term = get_term_by('name', 'فروش پیج اینستاگرام', 'product_cat');
wp_set_object_terms($post->ID, $term->term_id, 'product_cat', true);
/******************************/
$product = wc_get_product($post->ID);
$product->set_description("something");
$product->save();
/******************************/
}
}
as you see, these last 3 lines lead to the problem the page refreshes and also update the product description but give me and error
“THE SITE IS EXPERIENCING TECHNICAL DIFFICULTIES”
and when I remove them it works okay and show me the successful message
UPDATE
I changed these 3 line with Wordpress way
wp_update_post( array('ID' => $post->ID, 'post_content' => "something"));
still do the job but instead of successful message gives me this technical error
UPDATE II
When I open Chrome console I see this error also
Failed to load resource: the server responded with a status of 500 () (index):1