Al comienzo de wp_insert_post
, la función que guarda / actualiza una publicación, hay una filtro denominado wp_insert_post_empty_content
. De forma predeterminada, este filtro verifica si los campos de título, editor y extracto están vacíos, en cuyo caso se detendrá el proceso de guardado.
Sin embargo, dado que todos los campos a guardar se pasan a este filtro, puede expandir este filtro para incluir cualquier otra prueba para determinar si la publicación debe considerarse vacía. Sería algo como esto:
add_filter ('wp_insert_post_empty_content','wpse312975_check_unique_url',10,2);
function wpse312975_check_unique_url ($maybe_empty, $postarr) {
// extract custom field from $postarr, check uniqueness
if ($unique) return false else return true;
}
Nota: la función debe devolver 'true' para detener el proceso de guardado.
Si el campo personalizado no es único, es posible que también desee repetir una advertencia.