The previous answer is incorrect. The message at the top of a post edit page cannot be modified using labels. You need to use the post_updated_messages
filter.
The following function will customize the messages using the name of the post type - handy if you're using custom post types. It's a modified version of the example on the Wordpress Codex.
Notice that the View and Preview links are controlled with the $viewLink
, $previewLink
, and $schedPreviewLink
variables, which will only appear if the visibility of the current post's post type is set to public.
function custom_post_type_messages($messages) {
global $post, $post_ID;
$post_type = get_post_type( $post_ID );
$obj = get_post_type_object($post_type);
$singular = $obj->labels->singular_name;
$viewLink = ($obj->public) ? ' <a href="%s">View '.strtolower($singular).'</a>' : "";
$previewLink = ($obj->public) ? ' <a target="_blank" href="%s">Preview '.strtolower($singular).'</a>': "";
$schedPreviewLink = ($obj->public) ? ' <a target="_blank" href="%2$s">Preview '.strtolower($singular).'</a>': "";
$messages[$post_type] = array(
0 => '', // Unused. Messages start at index 1.
1 => sprintf( __($singular.' updated.'.$viewLink), esc_url( get_permalink($post_ID) ) ),
2 => __('Custom field updated.'),
3 => __('Custom field deleted.'),
4 => __($singular.' updated.'),
5 => isset($_GET['revision']) ? sprintf( __($singular.' restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
6 => sprintf( __($singular.' published.'.$viewLink), esc_url( get_permalink($post_ID) ) ),
7 => __('Page saved.'),
8 => sprintf( __($singular.' submitted.'.$previewLink), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
9 => sprintf( __($singular.' scheduled for: <strong>%1$s</strong>.'.$schedPreviewLink), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ),
10 => sprintf( __($singular.' draft updated.'.$previewLink), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
);
return $messages;
}
add_filter('post_updated_messages', 'custom_post_type_messages' );