Please try this PHP snippet instead. It will also show an error if the vendor tries to save account settings without a profile image or if the user tries to complete the Complete Profile form without a profile image to become a vendor
add_filter(
'hivepress/v1/forms/user_update/errors',
function( $errors, $form ) {
if(!empty($errors)){
return $errors;
}
$vendor = \HivePress\Models\Vendor::query()->filter(
[
'user' => get_current_user_id(),
]
)->get_first_id();
if(!$vendor){
return $errors;
}
$user = $form->get_model();
if ( $user && ! $user->get_image__id() ) {
$errors[] = 'Please upload the profile image.';
}
return $errors;
},
100,
2
);
add_filter(
'hivepress/v1/forms/user_update_profile/errors',
function( $errors, $form ) {
if(!empty($errors)){
return $errors;
}
$user = $form->get_model();
if ( $user && ! $user->get_image__id() ) {
$errors[] = 'Please upload the profile image.';
}
return $errors;
},
100,
2
);
add_filter(
'hivepress/v1/forms/user_update',
function( $form ) {
$vendor = \HivePress\Models\Vendor::query()->filter(
[
'user' => get_current_user_id(),
]
)->get_first_id();
if(!$vendor){
return $form;
}
$form['fields']['image']['statuses']['optional'] = null;
return $form;
},
1000
);
add_filter(
'hivepress/v1/forms/user_update_profile',
function( $form ) {
$form['fields']['image']['statuses']['optional'] = null;
return $form;
},
1000
);
add_filter(
'hivepress/v1/models/vendor/fields',
function($fields){
if(isset($fields['image'])){
$fields['image']['required'] = true;
}
return $fields;
},
1000
);