Heim >CMS-Tutorial >WordDrücken Sie >WordPress benutzerdefinierte Post -Typen - Mitteilungen und Taxonomien
In meinem vorherigen Beitrag habe ich benutzerdefinierte Beitragstypen (CPT) und wie Sie eine für Ihre WordPress -Powered -Website erstellt. Wir haben uns auch angesehen, wie Sie die verschiedenen Benutzeroberflächenbezeichnungen eines benutzerdefinierten Post -Typs anpassen, um ihn von den nativen Post -Typen und zu unterscheiden. Wir haben jedoch nicht behandelt, wie die von ihnen generierten Administratoren angepasst werden.
In diesem Tutorial werde ich behandeln, wie Sie diese Hinweise anpassen und wie Sie neue Taxonomien an einen benutzerdefinierten Post -Typ registrieren können.
Kennen Sie die Warnmeldung, die in der Oberseite der Administratorseiten angezeigt wird, beispielsweise, wenn ein Beitrag als Entwurf, veröffentlicht, oder sogar die Einstellungen eines Plugins gespeichert wird? Diese Nachricht wird als Administratorbescheid bezeichnet.
standardmäßig wird der Administrator angezeigt, der bei der Arbeit an einem benutzerdefinierten Beitrag angezeigt wird. Beitrag anzeigen.
Sie können den Text dieser Nachrichten einfach ändern, indem Sie den Haken post_updated_messages wie so verwenden:
add_filter( 'post_updated_messages', 'book_cpt_messages' ); /** * Book CPT updates messages. * * @param array $messages Existing post update messages. * * @return array Amended book CPT notices */ function book_cpt_messages( $messages ) { $post = get_post(); $post_type = get_post_type( $post ); $post_type_object = get_post_type_object( $post_type ); $messages['book'] = array( 0 => '', // Unused. Messages start at index 1. 1 => __( 'Book updated.', 'textdomain' ), 2 => __( 'Custom field updated.', 'textdomain' ), 3 => __( 'Custom field deleted.', 'textdomain' ), 4 => __( 'Book updated.', 'textdomain' ), 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Book restored to revision from %s', 'textdomain' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, 6 => __( 'Book published.', 'textdomain' ), 7 => __( 'Book saved.', 'textdomain' ), 8 => __( 'Book submitted.', 'textdomain' ), 9 => sprintf( __( 'Book scheduled for: <strong>%1$s</strong>.', 'textdomain' ), date_i18n( __( 'M j, Y @ G:i', 'textdomain' ), strtotime( $post->post_date ) ) ), 10 => __( 'Book draft updated.', 'textdomain' ) ); if ( $post_type_object->publicly_queryable ) { $permalink = get_permalink( $post->ID ); $view_link = sprintf( ' <a href="%s">%s</a>', esc_url( $permalink ), __( 'View book', 'textdomain' ) ); $messages[ $post_type ][1] .= $view_link; $messages[ $post_type ][6] .= $view_link; $messages[ $post_type ][9] .= $view_link; $preview_permalink = add_query_arg( 'preview', 'true', $permalink ); $preview_link = sprintf( ' <a target="_blank" href="%s">%s</a>', esc_url( $preview_permalink ), __( 'Preview book', 'textdomain' ) ); $messages[ $post_type ][8] .= $preview_link; $messages[ $post_type ][10] .= $preview_link; } return $messages; }
Code Erläuterung: Der obige Code passt Admin -Mitteilungen an, das von einem Buch benutzerdefinierte Post -Typ generiert wird.
Das mehrdimensionale Array $ Messungen steuert die von einem beliebigen Post-Typ angezeigten Administratorbenachrichtigungen.
Um die Nachrichten eines Buches benutzerdefinierter Post -Typ anzupassen, erstellen Sie ein Indexarray mit den verschiedenen Nachrichten als Wert von $ messages ['Buch'].
Die IF-Anweisung prüft, ob der benutzerdefinierte Post-Typ öffentlich abfragt werden kann. Das heißt, ob das öffentliche Argument auf true festgelegt wird, während der benutzerdefinierte Post -Typ registriert wird.
Wenn wahr, wird ein Link zum Anzeigen eines Beitrags zur CPT hinzugefügt, um den Administratorhinweis anzuzeigen, der angezeigt wird, wenn er aktualisiert, veröffentlicht oder zur Veröffentlichung geplant ist, während ein Link zur Vorschau des Beitrags hinzugefügt wird, wenn er zur Überprüfung oder a eingereicht wird Der Entwurf wird aktualisiert.
In WordPress ist eine Taxonomie Mechanismus für die Gruppierung von Beiträgen jeglicher Art.
Beispiele für Taxonomien umfassen eine Kategorie für die Gruppierung von Beiträgen, die mit einer bestimmten Kategorie und einem bestimmten Tag zusammenhängen, was Kategorien ziemlich ähnlich ist, aber mehr freie Form ist. Weitere Informationen zu Taxonomien finden Sie im WordPress Codex.
Abgesehen davon werden wir uns mit der Erstellung von benutzerdefinierten Taxonomien befassen. Nehmen wir das Beispiel für das Erstellen eines Buchpostentyps. Die Kategorisierung der Bucheinträge mit den gleichen Kategorien für Blog -Beiträge ist nicht ideal.Ein Beispiel für ein easy Digital Downloads, das einen benutzerdefinierten Post -Typ für digitale Produkteinträge mit einer Taxonomie Download_Category für die Produktkategorisierung verwendet.
Um eine benutzerdefinierte Taxonomie zu erstellen, verwenden
Wenn Sie bereits über einen Buch für benutzerdefinierte Post -Typen verfügen, sollten Sie die Taxonomie Kategorie zum Admin -Menü und Post -Bearbeitungsbildschirm angezeigt.
add_filter( 'post_updated_messages', 'book_cpt_messages' ); /** * Book CPT updates messages. * * @param array $messages Existing post update messages. * * @return array Amended book CPT notices */ function book_cpt_messages( $messages ) { $post = get_post(); $post_type = get_post_type( $post ); $post_type_object = get_post_type_object( $post_type ); $messages['book'] = array( 0 => '', // Unused. Messages start at index 1. 1 => __( 'Book updated.', 'textdomain' ), 2 => __( 'Custom field updated.', 'textdomain' ), 3 => __( 'Custom field deleted.', 'textdomain' ), 4 => __( 'Book updated.', 'textdomain' ), 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Book restored to revision from %s', 'textdomain' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, 6 => __( 'Book published.', 'textdomain' ), 7 => __( 'Book saved.', 'textdomain' ), 8 => __( 'Book submitted.', 'textdomain' ), 9 => sprintf( __( 'Book scheduled for: <strong>%1$s</strong>.', 'textdomain' ), date_i18n( __( 'M j, Y @ G:i', 'textdomain' ), strtotime( $post->post_date ) ) ), 10 => __( 'Book draft updated.', 'textdomain' ) ); if ( $post_type_object->publicly_queryable ) { $permalink = get_permalink( $post->ID ); $view_link = sprintf( ' <a href="%s">%s</a>', esc_url( $permalink ), __( 'View book', 'textdomain' ) ); $messages[ $post_type ][1] .= $view_link; $messages[ $post_type ][6] .= $view_link; $messages[ $post_type ][9] .= $view_link; $preview_permalink = add_query_arg( 'preview', 'true', $permalink ); $preview_link = sprintf( ' <a target="_blank" href="%s">%s</a>', esc_url( $preview_permalink ), __( 'Preview book', 'textdomain' ) ); $messages[ $post_type ][8] .= $preview_link; $messages[ $post_type ][10] .= $preview_link; } return $messages; }
Schlussfolgerung
benutzerdefinierte Beitragstypen sind eine leistungsstarke Funktion von WordPress und nützlich, um Daten zu gruppieren oder Einträge zu passen, die nicht in einen Beitrag und einen Seitentyp passen. Das Sahnehäubchen auf dem Kuchen ist die Möglichkeit, die Beiträge eines benutzerdefinierten Post -Typs durch Registrierung einer benutzerdefinierten Taxonomie weiter zu kategorisieren.
häufig gestellte Fragen zu WordPress -benutzerdefinierten Post -Typen, Mitteilungen und Taxonomien
Wie kann ich einen benutzerdefinierten Beitragstyp in WordPress erstellen? Sie müssen die Funktion register_post_type () verwenden, mit der Sie einen neuen Post -Typ nach den Etiketten, unterstützten Funktionen, Verfügbarkeit und anderen Kriterien definieren können. Denken Sie daran, Ihre Umschreibregeln nach dem Hinzufügen des Codes durch Besuch der Permalinks -Einstellungsseite zu spülen.
Das obige ist der detaillierte Inhalt vonWordPress benutzerdefinierte Post -Typen - Mitteilungen und Taxonomien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!