Lo recomendaría así.
Usted tiene (y debe) tener su propio nombre para verificar el origen de los datos y la intención del usuario. Si solo tiene un nonce para un metabox, entonces se encuentra con problemas si ese metabox se elimina (no es lo mismo que oculto). Si se elimina, el segundo metabox (o al menos debería) nunca se guardará ya que el nonce ya se envía.
Por supuesto, desde un punto de vista de seguridad, un segundo nonce no agrega nada, a menos que alguna vez desee actualizar solo un metabox y no el otro: nonces debe ser exclusivo de la acción .
Editar
Como se señaló, solo hay un formulario para la pantalla de edición posterior. Entonces, en teoría, solo necesita un campo nonce con el que validar la acción y el origen de los datos. Sin embargo, dado que los metaboxes se pueden eliminar, al tener un campo nonce en un solo metabox, no hay garantía de que el nonce esté allí. Al colocar un campo nonce en cada metabox, puede verificar si los datos de esa metabox han sido enviados (y en realidad provienen de donde cree que están) antes de procesar los datos. P.ej:
save_post_call_back($post_id){
//Check this is not an auto-save route
if(nonce of metabox1 present and valid){
//Process data from metabox1
}else{
//Either metabox removed - or invalid nonce. Take no action.
}
if(nonce of metabox2 present and valid){
//Process data from metabox2
}else{
//Either metabox removed - or invalid nonce. Take no action.
}
}
El nombre del campo nonce debe ser exclusivo del metabox (y no entrar en conflicto con ningún otro nonces que esté presente en el formulario desde otros complementos).
El valor nonce debe ser exclusivo de la acción (y esto generalmente debe incluir el origen de los datos (por ejemplo, editar-publicar en lugar de editar rápidamente)). Por lo general, también incluyo el ID de la publicación.
<form>
etiqueta en la página de administración. ¿Debería el campo nonce ser exclusivo del formulario o no? tia, @Stephen