In your second file Car_Data_Meta_Boxes_Init
line:
add_action( 'save_car_data_meta', array( $this, 'save_meta_boxes' ), 10, 1 );
you bind to your custom action save_car_data_meta
but this action is triggered inside save_meta_boxes
function this is why it never gets triggered unless you do var_dump(Car_Data_Meta_Box_Data::save_car_data_meta(158));
manual triggering of save meta function in metabox rendering logic.
So you need to replace in your Car_Data_Meta_Boxes_Init
class this line
add_action( 'save_car_data_meta', array( $this, 'save_meta_boxes' ), 10, 1 );
with
add_action( 'save_post_{YOUR_POST_TYPE_NAME}', array( $this, 'save_meta_boxes' ), 10, 1 );
replacing {YOUR_POST_TYPE_NAME}
with exact Custom post type name, probably it’s a car
this way you’ll have save_post_car
action name.
See https://developer.wordpress.org/reference/hooks/save_post_post-post_type/ for reference.
(Also it’s always good to sanitize user input when you read data values from $POST
when you save them.)