Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Is it possible to edit the "Post updated. View post" link and remove the "View post" entirely? Also change the "Post" to the name of a cpt?

Thanks guys!


Here is the code I used and it worked like a charm. I hope this helps others!

In my example I use "Contact" as my cpt:

enter image description here

add_filter('post_updated_messages', 'contact_updated_messages');
function contact_updated_messages( $messages ) {

$messages['contact'] = array(
0 => '', // Unused. Messages start at index 1.
1 => sprintf( __('Contact updated. <a href="%s">View Contact</a>'), esc_url( get_permalink($post_ID) ) ),
2 => __('Custom field updated.'),
3 => __('Custom field deleted.'),
4 => __('Contact updated.'),
/* translators: %s: date and time of the revision */
5 => isset($_GET['revision']) ? sprintf( __('Contact restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
6 => sprintf( __('Contact published. <a href="%s">View Contact</a>'), esc_url( get_permalink($post_ID) ) ),
7 => __('Contact saved.'),
8 => sprintf( __('Contact submitted. <a target="_blank" href="%s">Preview Contact</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
9 => sprintf( __('Contact scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview Contact</a>'),
  // translators: Publish box date format, see http://php.net/date
  date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ),
10 => sprintf( __('Contact draft updated. <a target="_blank" href="%s">Preview Contact</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),

return $messages;

share|improve this question
Make it open in a new tab by following my directions here: codebucket.io/code/danielhickman/… –  Daniel Jan 3 at 3:15

2 Answers 2

You can filter the update messages: add_filter('post_updated_messages', 'your_message_function');

look in /wp-admin/edit-form-advanced.php to see the where the default messages are set.

share|improve this answer
Thanks Milo! Using your advice I have found what I wanted to do. I will edit my original post with the answer. –  Marco Apr 22 '11 at 3:07
Thanks here too! Made them all open in a new tab by adding 'target="_blank"' to each <a> in the messages. Saved me a lot of time. –  Daniel Jan 2 at 10:41

To make this work for all CPTs, I found a gist that abstracts it into a simple function to drop in functions.php


share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.