首先save_post
有一个论点$post_id
, 所以没有必要全球化$post
. 在某些情况下,$post
当你这样做的时候,它可能不会(再)被设置,这可能就是它中断的原因。其次,您可能应该检查是否存储了修订(见下文)。因此,您的代码应该如下所示:
function save_details( $post_id ){
if ( wp_is_post_revision( $post_id ) )
$post_id = wp_is_post_revision( $post_id );
update_post_meta( $post_id, "testimonyname", $_POST["testimonyname"] );
}
add_action(\'save_post\', \'save_details\', 10, 1);