Legen Sie benutzerdefinierte Nachrichten für die Aktualisierung nach dem Speichern / Speichern fest

Ich versuche, eine benutzerdefinierte Nachricht anstelle der Standardnachricht zu machen, wenn ich einen Beitrag speichere, weiß jemand, wie es geht!

Solutions Collecting From Web of "Legen Sie benutzerdefinierte Nachrichten für die Aktualisierung nach dem Speichern / Speichern fest"

http://codex.wordpress.org/Function_Reference/register_post_type Beispiel:

//add filter to ensure the text Book, or book, is displayed when user updates a book add_filter('post_updated_messages', 'codex_book_updated_messages'); function codex_book_updated_messages( $messages ) { global $post, $post_ID; $messages['book'] = array( 0 => '', // Unused. Messages start at index 1. 1 => sprintf( __('Book updated. View book'), esc_url( get_permalink($post_ID) ) ), 2 => __('Custom field updated.'), 3 => __('Custom field deleted.'), 4 => __('Book updated.'), /* translators: https://wordpress.stackexchange.com/questions/17885/set-custom-messages-for-post-update-save/%s: date and time of the revision */ 5 => isset($_GET['revision']) ? sprintf( __('Book restored to revision from https://wordpress.stackexchange.com/questions/17885/set-custom-messages-for-post-update-save/%s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, 6 => sprintf( __('Book published. View book'), esc_url( get_permalink($post_ID) ) ), 7 => __('Book saved.'), 8 => sprintf( __('Book submitted. Preview book'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ), 9 => sprintf( __('Book scheduled for: %1$s. Preview book'), // 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( __('Book draft updated. Preview book'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ), ); return $messages; } 

Nachrichtenspeicher

Der 'message' Teil des $_GET Arrays ist dafür verantwortlich, den tatsächlichen Nachrichtenwert als integer . Dies bedeutet, dass alles, was dort ankommt, als eigentliche Nachricht gesetzt wird. Die Nachrichten selbst werden in einem globalen Array in den Admin UI-Vorlagen gespeichert. Es heißt $messages und hat standardmäßig drei Schlüssel:

  1. page
  2. post
  3. attachment

Die Nachrichten werden als Unterarrays des Haupt- $messages -Arrays gespeichert.

Anmerkungen:

Einige Dinge zu beachten (WP Core v4.0.1):

  • Die 0 wird nicht verwendet.
  • Die attachment Nachrichten sind derzeit ein Hack und haben nur die Zeichenfolge 'Media attachment updated.' auf jedem Schlüssel.
  • Alle Nachrichten-Sub-Arrays haben eine Länge von 10 Schlüsseln

So fügen Sie benutzerdefinierte Nachrichten hinzu

Verwenden Sie den post_updated_messages Filter:

 add_filter( 'post_updated_messages', function( $messages ) { $messages['post'][2] = 'My awesome custom field just updated. Congratulations!'; return $messages; } ); 

Sehen Sie sich ~/wp-admin/edit-form-advanced.php für welche Nachricht was verwendet wird.

Wenn kein Post-Typ verwendet wird, ist das Fallback das post Post-Nachrichtenarray.

Benutzerdefinierte Beitragstypen

Sie können Ihre eigenen Nachrichten sicher über einen callback auf dem angepassten Filter hinzufügen. Stellen Sie nur sicher, dass Sie den Namen Ihrer benutzerdefinierten Beitragstypen als Schlüssel für den Nachrichtenarray verwenden:

 add_filter( 'post_updated_messages', function( $messages ) { $messages['my_custom_post_type'][2] = 'Go, buy some milk!'; return $messages; } ); 

Der Callback selbst ist wahrscheinlich am besten süchtig

 do_action( "load-{$pagenow}" )