Esa validación no la veo bien, ¿que pasa si quiero dejar en blanco el campo? no lo hara.
Para evitar guardar el valor de los custom fields en el autosave hago esta comprobación:
Cuando hace el autosave no hago nada..
Y para seguridad uso wp_verify_nonce en tu metabox agregas un campo
Código PHP:
Ver originalwp_nonce_field( plugin_basename( __FILE__ ), 'check_field' );
Y lo compruebas:
Código PHP:
Ver originalif ( !wp_verify_nonce( $_POST['check_nonce'], plugin_basename( __FILE__ ) ) )
return;
Y así la funcion para salvar los custom fields queda mas o menos así:
Código PHP:
Ver originalfunction save_postdata($post_id)
{
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE
) return;
if ( !wp_verify_nonce( $_POST['check_field'], plugin_basename( __FILE__ ) ) )
return;
if ( $_POST['post_type'] != "Tu_custom_post" )
return;
#Haces el update.....
}
Saludos!!