Skip to content

Instantly share code, notes, and snippets.

@ControlledChaos
Last active May 2, 2018 16:35
Show Gist options
  • Save ControlledChaos/5da722b4caa5720f2c1f to your computer and use it in GitHub Desktop.
Save ControlledChaos/5da722b4caa5720f2c1f to your computer and use it in GitHub Desktop.
Replaces "Post" in the update messages for custom post types on the "Edit" post screen.

Custom Post Type Message

WordPress Snippet

<?php
/**
* Replaces "Post" in the update messages for custom post types on the "Edit" post screen.
*
* For example, for a "Product" custom post type, "Post updated. View Post." becomes "Product updated. View Product".
*
* @param array $messages The default WordPress messages.
*/
function ccd_custom_update_messages( $messages ) {
global $post, $post_ID;
$post_types = get_post_types( array( 'show_ui' => true, '_builtin' => false ), 'objects' );
foreach( $post_types as $post_type => $post_object ) {
$messages[ $post_type ] = array(
0 => '', // Unused. Messages start at index 1.
1 => sprintf( __( '%s updated. <a href="%s">View %s</a>' ), $post_object->labels->singular_name, esc_url( get_permalink( $post_ID ) ), $post_object->labels->singular_name ),
2 => __( 'Custom field updated.' ),
3 => __( 'Custom field deleted.' ),
4 => sprintf( __( '%s updated.' ), $post_object->labels->singular_name ),
5 => isset( $_GET['revision']) ? sprintf( __( '%s restored to revision from %s' ), $post_object->labels->singular_name, wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
6 => sprintf( __( '%s published. <a href="%s">View %s</a>' ), $post_object->labels->singular_name, esc_url( get_permalink( $post_ID ) ), $post_object->labels->singular_name ),
7 => sprintf( __( '%s saved.' ), $post_object->labels->singular_name ),
8 => sprintf( __( '%s submitted. <a target="_blank" href="%s">Preview %s</a>'), $post_object->labels->singular_name, esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ), $post_object->labels->singular_name ),
9 => sprintf( __( '%s scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview %s</a>'), $post_object->labels->singular_name, date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink( $post_ID ) ), $post_object->labels->singular_name ),
10 => sprintf( __( '%s draft updated. <a target="_blank" href="%s">Preview %s</a>'), $post_object->labels->singular_name, esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ), $post_object->labels->singular_name ),
);
}
return $messages;
}
add_filter( 'post_updated_messages', 'ccd_custom_update_messages' );
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment