Если у вас есть ошибка, то вы обычно получаете номер строки в этом сообщении об ошибке, тогда вы уже знаете, где может быть проблема.
Если это не так, или если это не так Для ясности, вы должны начать отладку, это делается путем пошагового тестирования вашей функции, например, таким образом:
Шаг 1
function cfwc_save_custom_field( $post_id ) {
echo 'hook works';
die();
}
add_action( 'woocommerce_process_product_meta', 'cfwc_save_custom_field', 10, 1 );
Шаг 2
function cfwc_save_custom_field( $post_id ) {
$product = wc_get_product( $post_id );
echo $post_id;
die();
}
add_action( 'woocommerce_process_product_meta', 'cfwc_save_custom_field', 10, 1 );
Et c ...
До тех пор, пока вы не получите сообщение об ошибке, и тогда вы сможете найти его идеально.