使用两个可接受的参数注册保存处理程序:
add_action(\'save_post\', \'save_details\', 10, 2 );
现在有两个重要参数:
function save_details( $post_id, $post ) {}
第一个是post ID,第二个是完整的post对象。不要依赖全局post对象。在某些情况下,它不可用,例如,批量编辑。
然后在metabox输出中使用nonce字段,确保只处理每个框发送的值:
echo wp_nonce_field( \'job_location\', \'_nonce_job_location\' );
在保存处理程序中,使用以下命令验证nonce:
if ( ! wp_verify_nonce( $_POST[ \'_nonce_job_location\' ], \'job_location\' ) )
return;
在自动保存请求期间,不会发送额外字段,因此在
DOING_AUTOSAVE
ist定义:
if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE )
return;
并测试是否允许用户编辑当前帖子:
if ( ! current_user_can( \'edit_post\', $post_id ) )
return;
在所有这些检查之后,您可以保存或删除数据。