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.
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.
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>
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.
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>
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.
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.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.
Eine vollständige Liste von Etiketten und ihrer Beschreibungen finden Sie hier.
Eine kurze beschreibende Zusammenfassung des Postyps, obwohl ich nicht festgestellt habe, wo diese in WordPress Admin verwendet wird.
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:
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.
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>
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>
Mit diesem Argument können Sie entscheiden, ob Sie Ihre CPT -hierarchisch machen oder nicht. Der Standardwert ist falsch. Setzen
unterstütztDas Festlegen dieses Arguments auf False verhindert das Standardverhalten (Titel und Editor).
Es gibt mehrere verfügbare Optionen:
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>
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>
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
schreibenStandardwert 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>
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.
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.
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.
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.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
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.
benutzerdefinierte Post -Typ ui
Bis dahin glückliche Codierung!
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 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.
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!