Automatically fill custom field value on post publish/update

See add_meta_box which has a lot of demo code for working with meta fields. Here is the most relevant part for you:

/* Do something with the data entered */
add_action( 'save_post', 'myplugin_save_postdata' );

/* When the post is saved, saves our custom data */
function myplugin_save_postdata( $post_id ) {

  // First we need to check if the current user is authorised to do this action. 
  if ( 'page' == $_POST['post_type'] ) {
    if ( ! current_user_can( 'edit_page', $post_id ) )
        return;
  } else {
    if ( ! current_user_can( 'edit_post', $post_id ) )
        return;
  }

  $mydata="something"; // Do something with $mydata 

  update_post_meta( $post_id, '_my_meta_value_key', $mydata );
}

Leave a Comment