add_filter(
'hivepress/v1/forms/listing_update/errors',
function( $errors, $form ) {
$current_listing_id = $form->get_model()->get_id();
// Check messengera_address
$messengera_address = $form->get_value( 'messengera_address' );
if ( $messengera_address ) {
$listing_id = \HivePress\Models\Listing::query()->filter(
[
'status__in' => [ 'draft', 'pending', 'publish' ],
]
)->set_args(
[
'meta_key' => 'hp_messengera_address',
'meta_value' => $messengera_address,
]
)->get_first_id();
if ( $listing_id && $listing_id !== $current_listing_id ) {
$errors['messengera_address'] = 'This messengera_address address is already listed.';
}
}
// Check messengerb_address
$messengerb_address = $form->get_value( 'messengerb_address' );
if ( $messengerb_address ) {
$listing_id = \HivePress\Models\Listing::query()->filter(
[
'status__in' => [ 'draft', 'pending', 'publish' ],
]
)->set_args(
[
'meta_key' => 'hp_messengerb_address',
'meta_value' => $messengerb_address,
]
)->get_first_id();
if ( $listing_id && $listing_id !== $current_listing_id ) {
$errors['messengerb_address'] = 'This messengerb_address address is already listed.';
}
}
return $errors;
},
10,
2
);