Heim > CMS-Tutorial > WordDrücken Sie > Die endgültige Anleitung zu WordPress benutzerdefinierten Post -Typen

Die endgültige Anleitung zu WordPress benutzerdefinierten Post -Typen

Lisa Kudrow
Freigeben: 2025-02-15 13:11:11
Original
513 Leute haben es durchsucht

Die endgültige Anleitung zu WordPress benutzerdefinierten Post -Typen

Key Takeaways

  • WordPress hat sich zu einem vollwertigen Content-Management-System und -Plattform entwickelt, das Posts oder strukturierte Daten über Plugins, Themen und WP-REST-API in verschiedene Typen gruppieren.
  • Ein benutzerdefinierter Beitragstyp (CPT) in WordPress ist ein neuer Post -Typ, der erstellt und bei WordPress registriert wird. Beispiele für Post -Typen können Portfolio, Testimonials und Produkte für eine Unternehmens- oder Unternehmenswebsite umfassen.
  • Erstellen eines benutzerdefinierten Post -Typs beinhaltet die Registrierung des Post -Typs mit der Funktion "register_post_type () und das Anpassen eines Array von Argumenten. Diese Argumente können Aspekte wie beschreibender Name, öffentliche Sichtbarkeit, Menüposition, Symbol, Hierarchie und andere Merkmale des Postyps steuern.
  • Es sind mehrere Plugins verfügbar, z. B. benutzerdefinierte Post-Type-UI, PODS-Framework und benutzerdefinierte Post-Typ-Hersteller, die den Prozess des Erstellens benutzerdefinierter Post-Typen vereinfachen können, die benutzerfreundlicher werden und die Notwendigkeit der Codierung beseitigt.

Vorbei sind die Tage, an denen WordPress nur als Blogging -Software bezeichnet wurde.

Die Fähigkeit, seine Funktionalität über Plugins und Themen, Gruppenbeiträge oder strukturierte Daten in verschiedene Typen zu erweitern, und auch die Ankunft der WP -REST -API in Kern, hat sich weiter zu einem vollblasenden Content -Management -System und -entwicklungsplattform entwickelt.

Im Laufe der Jahre habe ich erfolgreich eine Reihe benutzerdefinierter Webanwendungen entwickelt, die auf WordPress aufgebaut sind, die benutzerdefinierte Post-Typen stark verwenden. Ein Beispiel für eine dieser Webanwendungen ist der Themenmarkt meines WordPress -Plugins namens ProfilePress.

Wenn Sie sich den oben verknüpften Themenmarkt genauer ansehen, werden Sie feststellen, dass ein benutzerdefiniertes Paginationssystem verwendet wird, das in der URL der nächsten / vorherrschenden Paginierungsverbindungen offensichtlich ist. So können Sie ein internes Paginationssystem erstellen, das perfekt bei der Abfrage eines benutzerdefinierten Post-Typs (CPT) funktioniert.

Genug gesagt: Kommen wir zum Zweck dieses Tutorials, nämlich die Feinheiten benutzerdefinierter Post -Typen in WordPress zu lernen.

Ich hoffe, die vielen Hürden anzusprechen, die ich persönlich mit CPTs begegnet habe, sowie mit coolen Sachen, die Sie damit machen können.

benutzerdefinierte Post -Typ -Definition

WordPress kann viele verschiedene Arten von Inhalten halten und anzeigen. Ein einzelnes Element solcher Inhalte wird allgemein als Post bezeichnet, obwohl ein post auch ein bestimmter Post -Typ ist.

intern werden alle Post -Typen in der Datenbanktabelle WP_POSTS an derselben Stelle gespeichert, werden jedoch durch eine Spalte namens post_type unterschieden.

Beitragstyp bezieht sich auf die verschiedenen strukturierten Daten, die zusammen gruppiert sind und in der Tabelle "WordPress Database Posts" beibehalten werden.

Beispiele für Post-Typen sind Post (eine Gruppe von Blog-Posts), Seite (eine Gruppe von Seiten), Anhang (eine Gruppe hochgeladener Mediendateien) und Überarbeitung (eine Gruppe von Post-Revisionen), die nativ oder integriert sind. in WordPress.

mit der Definition des Post -Typs bewaffnet, wird ein neuer Post -Typ, der erstellt und als WordPress registriert wird, als benutzerdefinierten Post -Typ bezeichnet.

Wenn Sie eine Unternehmens- oder Unternehmenswebsite mit WordPress erstellen, sind Beispiele für Post -Typen, die Sie erstellen können, Portfolio, Testimonials und Produkte.

Jetzt, da wir das Konzept der benutzerdefinierten Post -Typen verstanden haben, lernen Sie als nächstes, wie man sie erstellt.

Erstellen benutzerdefinierter Beitragstypen

Es ist ziemlich einfach, einen benutzerdefinierten Post -Typ zu erstellen. Registrieren Sie zunächst den Post -Typ mit der Funktion register_post_type () und schließlich in einem Funktionsaufruf wrap Register_post_type () und haken Sie ihn an die Init -Aktion wie SO:

<span><span>function portfolio_cpt() {</span>
</span>
    <span>$args = array(
</span>        <span>'label'  => 'Portfolio',
</span>        <span>'public' => true,
</span>    );

    register_post_type( <span>'portfolio', $args );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Aus dem obigen Code finden Sie Register_Post_type () einen zweiten Funktionsparameter, der eine Reihe von Argumenten akzeptiert, die für den Anpassen eines jeden Aspekts eines benutzerdefinierten Post -Typs erforderlich sind.

Sie sollten nun sehen, dass der benutzerdefinierte Port -Typ im Portfolio im WordPress -Administrator -Dashboard angezeigt wird.

Die endgültige Anleitung zu WordPress benutzerdefinierten Post -Typen

Es ist erwähnenswert, dass das zweite Argument beim Aufrufen von Register_Post_type () optional ist. Das heißt, ein CPT kann auch wie folgt erstellt werden:

<span><span>function portfolio_cpt() {</span>
</span>
    register_post_type( <span>'portfolio' );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wenn ein CPT auf diese Weise erstellt wird, wird es im Menü Admin-Dashboard nicht angezeigt (wenn auch über den direkten URL-Zugriff weiterhin zugegriffen werden. Portfolio “) und seine UI-Wortungen (ansonsten als Bezeichnungen bezeichnet) und Admin-Mitteilungen entsprechen den integrierten Post-Post-Typen.

Lassen Sie uns einige der Array -Argumente für das Anpassen von CPTs und deren jeweiligen Funktionen durchgehen.

label

Ein pluraler beschreibender Name für Ihren benutzerdefinierten Beitragstyp. Wenn Sie beispielsweise einen Film -CPT erstellen, sollten dies Filme sein.

Es wird standardmäßig den Wert von $ post_type, der der erste Parameter von Register_post_type () ist,

standardmäßig ist.

Beschriftungen

Eine Reihe von Etiketten für diesen Post -Typ. Jede Zeichenfolge ist ein Stück Text, der auf einer bestimmten Administratorseite angezeigt wird.

Stellen Sie sicher, dass Sie diese Zeichenfolgen übersetzbar machen, wenn Sie ein Plugin für die öffentliche Verwendung erstellen.
  • Name: Die Pluralform des Namens Ihres Beitragstyps.
  • Singular_Name: Die einzigartige Form des Namens Ihres Post -Typs.
  • add_new: Der Menüelement zum Hinzufügen eines neuen Beitrags.
  • add_new_item: Der Header beim Erstellen eines neuen Beitrags.
  • edit_item: Der Header, der beim Bearbeiten eines Beitrags angezeigt wird.
  • new_item: Im Favoritenmenü im Admin -Header angezeigt.
  • view_item: Neben dem Permalink auf dem Bildschirm bearbeiten.
  • such_items: Schaltfläche Text für das Suchfeld im Bildschirm "Posts" bearbeiten.
  • nicht_found: Text zum Anzeigen, wenn keine Beiträge durch die Suche im Administrator gefunden werden.
  • not_found_in_trash: text, die angezeigt werden sollen, wenn keine Beiträge im Müll sind.

Eine vollständige Liste von Etiketten und ihrer Beschreibungen finden Sie hier.

Beschreibung

Eine kurze beschreibende Zusammenfassung des Postyps, obwohl ich nicht festgestellt habe, wo diese in WordPress Admin verwendet wird.

public

Abhängig von seinem booleschen Wert entscheidet es automatisch, welche anderen Argumente es sein sollten, es sei denn, sie sind speziell definiert. Wenn Sie mehr Kontrolle über die öffentlichen Argumente haben möchten, gibt es drei spezifische Argumente, die Sie möglicherweise festlegen:

  • show_ui: Bestimmt, ob die Administrationsbildschirme angezeigt werden sollen.
  • öffentlich_Queryable: Bestimmt, ob Abfragen für diesen Post -Typ am vorderen Ende durchgeführt werden können.
  • ausschließen_from_search: ob die Beiträge in den Suchergebnissen angezeigt werden.

Menü_Position

standardmäßig wird nach dem Menüelement "Kommentare" ein neuer Beitragstyp im Administrator hinzugefügt. Aber Sie müssen es in eine geeignete Position Ihrer Wahl bringen.

Wenn Sie beispielsweise den Menü_Position -Wert auf 70 festlegen, wird Ihr Menüelement unter den Benutzern hinzugefügt.

Menü_icon

Neue Beitragstypen werden standardmäßig mit dem Menüsymbol des Posts eingestellt. Wenn Sie jedoch ein benutzerdefiniertes Symbol darin möchten, stellen Sie diese Beschriftung auf die URL des Symbols oder die Bilddatei ein.

<span><span>function portfolio_cpt() {</span>
</span>
    <span>$args = array(
</span>        <span>'label'  => 'Portfolio',
</span>        <span>'public' => true,
</span>    );

    register_post_type( <span>'portfolio', $args );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Sie können auch jedes Dasicon als Ihr CPT -Symbol verwenden.

Sagen Sie, Sie möchten das Download -Dashicon verwenden. Stellen Sie dieses Etikett wie folgt auf den Dashicon -Wert ein:

<span><span>function portfolio_cpt() {</span>
</span>
    register_post_type( <span>'portfolio' );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Hierarchical

Mit diesem Argument können Sie entscheiden, ob Sie Ihre CPT -hierarchisch machen oder nicht. Der Standardwert ist falsch. Setzen

unterstützt

Mit dem Argument unterstützt Sie eine Reihe von Meta -Boxen und Feldern, die beim Bearbeiten oder Erstellen eines neuen Beitrags auf dem Bildschirm angezeigt werden. Diese Standardeinstellung zu Titel und Editor.

Das Festlegen dieses Arguments auf False verhindert das Standardverhalten (Titel und Editor).

Es gibt mehrere verfügbare Optionen:

  • Titel: Texteingangsfeld zum Erstellen eines Posttitels.
  • Editor: Content Tinymce Editor zum Schreiben.
  • Autor: Ein Feld ausgewählt, um den Postautor zu ändern.
  • Miniaturansicht: Bildfunktion.
  • Auszug: Ein Textbereich zum Schreiben eines benutzerdefinierten Auszugs.
  • Trackbacks: Fähigkeit, Trackbacks und Pingbacks einzuschalten.
  • Benutzerdefinierte Felder: Benutzerdefinierte Felder Eingabefeld.
  • Kommentare: Kommentare ein-/ausschalten.
  • Überarbeitungen: Ermöglicht die Überarbeitung von Ihrem Beitrag.
  • Post-Formate: Fügen Sie Postformate hinzu, siehe Abschnitt "Postformate"
  • Page-Attributes: Das für Seiten angezeigte Attributfeld. Dies ist wichtig für hierarchische Post -Typen, sodass Sie den übergeordneten Beitrag auswählen können.

register_meta_box_cb

bietet eine Rückruffunktion, die beim Einrichten der Meta -Felder für das Bearbeitungsformular aufgerufen wird. Die Rückruffunktion nimmt ein Argument $ post vor, das das WP_POST -Objekt für den aktuell bearbeiteten Beitrag enthält.

Diese Funktion ist für Entwickler besonders nützlich, damit sie benutzerdefinierte Meta -Boxen erstellen können, die im CPT -Bearbeitungsbildschirm angezeigt werden.

<span><span>function portfolio_cpt() {</span>
</span>
    <span>$args = array(
</span>        <span>'label'  => 'Portfolio',
</span>        <span>'public' => true,
</span>    );

    register_post_type( <span>'portfolio', $args );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Taxonomien

Eine Reihe registrierter Taxonomien wie Kategorie oder post_tag, die mit diesem benutzerdefinierten Post -Typ verwendet werden.

<span><span>function portfolio_cpt() {</span>
</span>
    register_post_type( <span>'portfolio' );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Has_archive

Das Festlegen dieses Arguments auf True ermöglicht Archive für Ihren benutzerdefinierten Post -Typ. Angenommen, Ihr CPT ist Bücher. Wenn Sie http://yoursite.com/books besuchen

schreiben

neu

Mit diesem Argument können Sie die Permalink -Struktur Ihres benutzerdefinierten Post -Typs beim Anzeigen eines einzelnen Beitrags oder Archivs definieren.

Standardwert ist wahr und verwendet $ post_type als Slug. Um Neuschreibungen zu verhindern, werden auf false eingestellt.

Lassen Sie uns einige Beispiele für Klarheit ansehen.

Angeben Sie sagen, dass Sie einen pünktlichen Post -Typ erstellt haben, möchten jedoch die URL -Schnecke von

überprüft zu Bewertung unter Verwendung des folgenden Umschreibungsarguments werden die URL von http: // Beispiel ändern .com/review/harry-potter/to http://example.com/assesment/harry-potter/ für einzeln Das CPT -Archiv.

<span>'menu_icon' => get_stylesheet_directory_uri() . '/images/portfolio-icon.png',</span>
Nach dem Login kopieren
Wenn Sie eine Umschreibung von WordPress -URL durchführen, klicken Sie auf die Schaltfläche "Änderungen speichern".

im Grunde genommen definiert der Schnecken die neue URL-Schnecke, während mit_Front feststellt, ob die Permalink-Struktur mit der vorderen Basis vorgepasst wird.

Sie sind immer noch nicht klar mit_front? Sehen wir uns ein Beispiel an.

Sagen Sie, Sie haben eine Permalink -Struktur mit

Blog

, die in der URL angehängt ist, wie im Bild unten dargestellt.

Die endgültige Anleitung zu WordPress benutzerdefinierten Post -Typen

Wenn mit_front auf false gesetzt ist, wird die URL eines einzelnen Beitrags und eines Postarchivs http://example.com/blog/assesment/harry-potter/ und http://example.com/blog/assesment/ Wenn es jedoch auf wahr ist, wird die URL eines einzelnen Beitrags und eines Post-Archivs http://example.com/assesment/harry-potter/ und http://example.com/assesment/.

Beachten Sie das Auslassen des Blogs im letzteren? Das ist der Unterschied.

CAN_EXPORT

Verwenden Sie dieses Argument, um zu entscheiden, ob Beiträge zu Ihrem benutzerdefinierten Post -Typ über das WordPress -Export -Tool exportierbar sind. Standardmäßig ist dies auf wahr.

query_var

Mit diesem Argument können Sie die Abfragevariable steuern, die zum Abrufen von Beiträgen dieser Art verwendet wird.

Wenn Sie auf TRUE eingestellt sind, können Sie einen Buch "benutzerdefinierte Beiträge" über example.com/?book=harry-potter anfordern, wobei Harry-Potter das URL-Schläger eines Bucheintrags oder -posts ist.

Wenn Sie eher auf eine Zeichenfolge statt auf True gesetzt (z. Einschränkung von "query_var"

Wenn query_var in Ihrem CPT -Registrierungsarray -Argument nicht definiert ist, ist es standardmäßig $ post_type, so dass es immer definiert ist, es sei denn, Sie setzen es auf false.

Hier kommt die Einschränkung. Immer wenn der Wert eines Query_Var als Abfragezeichenfolge zu einer URL hinzugefügt wird, führt dies zu einem 404.

Lassen Sie mich klären. Sagen Sie, der Wert Ihres CPT Query_Var ist eine Überprüfung und eine Abfragezeichenfolge mit dem von der zu bewertenden Schlüssel zu bewertenden Schlüssel wurde in einer der folgenden Formulare zu einer URL Ihrer WordPress -Site hinzugefügt:

http://example.com/?review=some-random-string

    http://example.com/a-post-lug-here/?foo=bar&review=some-random-string
  • Dies führt zu einem 404.
Ich habe das auf die harte Tour gelernt. Da ich dieses Problem hatte, habe ich ein Ticket in WordPress Core Trac erstellt, um es als Fehler zu melden.

Ich habe Wochen gebraucht, um es endlich herauszufinden, bevor einige Mitglieder des Core WordPress -Teams auf mein Ticket antworteten.

beschleunigen benutzerdefinierte Post -Typen mit Plugins

Jetzt, da wir die Grundlagen abgedeckt haben, ist es ein guter Zeitpunkt, um darauf hinzuweisen, dass es eine Reihe von Plugins im WordPress -Plugin -Repository gibt, mit denen benutzerdefinierte Post -Typen sehr einfach erstellt werden können.

Beispiele sind (sind aber nicht beschränkt):

benutzerdefinierte Post -Typ ui

    Pods Framework
  • benutzerdefinierte Post -Typ -Hersteller
  • Schlussfolgerung
In diesem Tutorial haben wir gelernt, welche benutzerdefinierten Beitragstypen sie sind und wie sie erstellt werden.

Dies ist eigentlich die erste in einer Serie auf WordPress -benutzerdefinierten Post -Typen. In meinem nächsten Tutorial lernen wir, wie Sie die verschiedenen Administratorbenachrichtigungen anpassen, benutzerdefinierte Taxonomien an einem Post -Typ registrieren und auf Ihrem CPT -Bildschirm kontextbezogene Hilfe hinzufügen.

Bis dahin glückliche Codierung!

häufig gestellte Fragen zu WordPress benutzerdefinierten Post -Typen

Wie hoch sind die Vorteile der Verwendung von WordPress -benutzerdefinierten Post -Typen? Sie ermöglichen es Ihnen, bestimmte Inhaltstypen für Ihre Website zu erstellen, die über die Standardbeiträge und Seiten hinausgehen. Dies kann Portfolios, Testimonials, Produkte und mehr umfassen. Benutzerdefinierte Beitragstypen bieten auch eine organisiertere und effizientere Möglichkeit, Ihre Inhalte zu verwalten. Sie können mit spezifischen Funktionen und Feldern angepasst werden, sodass die Eingabe und Anzeige von Inhalten konsistent einfacher eingeben und angezeigt werden können.

Wie erstelle ich einen benutzerdefinierten Beitragstyp in WordPress? Geben Sie WordPress ein, beinhaltet das Hinzufügen einiger Codezeilen in die Funktion Ihres Themas. Sie müssen die Funktion register_post_type () verwenden, mit der Sie den Namen, die Beschriftungen und andere Funktionen Ihres benutzerdefinierten Post -Typs angeben können. Denken Sie daran, Ihre Umschreibung Ihrer Regeln nach dem Erstellen eines neuen benutzerdefinierten Beitragstyps zu spülen, indem Sie die Seite Permalinks -Einstellungen besuchen.

Kann ich meinen benutzerdefinierten Beitragstypen benutzerdefinierte Felder hinzufügen? zu Ihren benutzerdefinierten Post -Typen. Dies kann mit der Funktion add_meta_box () erfolgen, mit der Sie dem Bildschirm "Post Bearbeiten ein neues Meta -Feld" hinzufügen können. Sie können dann dieses Meta -Feld verwenden, um zusätzliche Informationen für Ihren benutzerdefinierten Beitragstyp einzugeben und anzuzeigen. Erstellen Sie eine neue Vorlagendatei in Ihrem Thema. Diese Datei sollte als Single {post-Typ} .php bezeichnet werden, wobei {Post-Typ} der Name Ihres benutzerdefinierten Post-Typs ist. Sie können dann die Standard -WordPress -Schleife verwenden, um den Inhalt Ihres benutzerdefinierten Beitragstyps anzuzeigen.

Kann ich Plugins verwenden, um benutzerdefinierte Post -Typen zu erstellen? benutzerdefinierte Post -Typen erstellen. Diese Plugins bieten eine benutzerfreundliche Schnittstelle zum Erstellen und Verwalten benutzerdefinierter Post-Typen, ohne dass Codierung erforderlich ist. Einige beliebte Optionen sind benutzerdefinierte Benutzeroberfläche, Pods und Toolset -Typen. Register_taxonomy () Funktion. Mit dieser Funktion können Sie eine neue Taxonomie erstellen, ihre Etiketten angeben und Ihren benutzerdefinierten Post -Typ in Verbindung bringen. Sie können dann diese Taxonomie verwenden, um den Inhalt Ihres benutzerdefinierten Post -Typs zu kategorisieren und zu filtern.

Kann ich benutzerdefinierte Post -Typen mit hierarchischen Strukturen erstellen? Dies kann durch Festlegen des Arguments „hierarchisches“ Argument auf TRUE erfolgen, wenn Sie Ihren benutzerdefinierten Post -Typ registrieren. Hierarchische benutzerdefinierte Post -Typen können über Eltern- und Kinderbeiträge verfügen, ähnlich wie Seiten.

Wie kann ich die Administratorschnittstelle für meine benutzerdefinierten Beitragstypen anpassen? Mit diesem Argument können Sie angeben, welche Funktionen im Bildbildschirm nach dem Bearbeiten verfügbar sind, z. B. Titel, Editor, Miniaturansicht und benutzerdefinierte Felder.

Ja, Sie können benutzerdefinierte Beitragstypen in die Suchergebnisse Ihrer Website aufnehmen. Dies kann durch Einstellen des Arguments "exclude_from_search" auf false erfolgen, wenn Sie Ihren benutzerdefinierten Post -Typ registrieren. Sie können auch Plugins oder benutzerdefinierte Code verwenden, um die Suchfunktion der Website weiter anzupassen.

Wie lösche ich einen benutzerdefinierten Beitragstyp in WordPress? Dadurch registriert der benutzerdefinierte Beitragstyp aus der Datei functions.php. Denken Sie daran, Ihre Website zu sichern, bevor Sie Änderungen am Code Ihres Themas vornehmen. Nachdem Sie den Code entfernt haben, müssen Sie Ihre Umschreiben -Regeln spülen, indem Sie die Seite Permalinks -Einstellungen besuchen.

Das obige ist der detaillierte Inhalt vonDie endgültige Anleitung zu WordPress benutzerdefinierten Post -Typen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage