Detailierte Erläuterung der benutzerdefinierten Artikeltypen in WordPress
Die Standard-Artikeltypen von WordPresspostUnd Seiten-TypenpageDies reicht aus, um die meisten Inhalte zu verwalten, aber für komplexe Websites, die eine strukturierte Darstellung bestimmter Inhalte erfordern (z. B. Produkte, Portfolios, Veranstaltungen, Teams usw.), reichen die Funktionen nicht aus. Die Einführung benutzerdefinierter Artikeltypen dient genau dazu, dieses zentrale Problem zu lösen, indem es Entwicklern ermöglicht, über die Grenzen von “Artikeln” und “Seiten” hinauszugehen und für jede Art von Inhalten eine eigene Verwaltungsoberfläche, Frontend-Anzeige und Abfrage-Logik zu erstellen.
Durch die Anpassung von Artikeltypen können Sie für “Produkte” eine separate Veröffentlichungsoberfläche hinzufügen, spezielle Felder für die Dateneingabe für “Teammitglieder” erstellen und diesen Inhalten einzigartige URL-Strukturen, Kategorisierungen und Vorlagendateien zuweisen. Dies verbessert nicht nur die Übersichtlichkeit und Effizienz der Content-Verwaltung erheblich, sondern ist auch ein unverzichtbarer technischer Grundstein für die Erstellung unternehmensweiter, hochgradig anpassbarer WordPress-Websites.
Warum benötigt man benutzerdefinierte Artikeltypen?
Die Verwendung von benutzerdefinierten Artikeltypen ermöglicht eine logische Trennung verschiedener Arten von Inhalten und bietet somit zahlreiche signifikante Vorteile.
Empfohlene Lektüre Tiefgehende Analyse von WooCommerce: Eine vollständige Anleitung zum Aufbau einer effizienten E-Commerce-Website von Grund auf.。
Die klare Trennung der Content-Verwaltung erreichen
Wenn Ihre Website sowohl Blogs, Produktpräsentationen, Nachrichtenmeldungen als auch Erfolgsgeschichten enthält und alle über die Standardfunktion “Artikel” verwaltet werden, kann das Backend sehr unübersichtlich werden. Inhalte unterschiedlicher Art werden in derselben Liste zusammengefasst, was die Bearbeitung und Suche äußerst schwierig macht.
Nachdem die eigenständigen Typen “Produkte” und “Fälle” erstellt wurden, können Administratoren im linken Menü im Backend separate Menüpunkte für “Produkte” und “Fälle” sehen. Wenn sie darauf klicken, ist die Verwaltungsoberfläche ähnlich der Artikelverwaltung, aber vollständig unabhängig und stört sich nicht gegenseitig. Diese Trennung sorgt für eine geordnete Inhaltsorganisation und reduziert die Verwaltungskomplexität erheblich.
Erstellung von benutzerdefinierten Feldern und Metadaten
Die Standardartikeltypen enthalten hauptsächlich allgemeine Felder wie Titel, Haupttext, Zusammenfassung, Kategorien und Tags. Für “Produkte” benötigen Sie möglicherweise Felder wie Preis, Spezifikationen, Lagerbestand usw.; für “Veranstaltungen” benötigen Sie Startzeit, Endzeit, Ort usw.
Benutzerdefinierte Artikeltypen können mit Plugins oder Code wie erweiterte benutzerdefinierte Felder kombiniert werden, um problemlos spezifische Metadatenfelder für bestimmte Inhaltstypen hinzuzufügen. Diese Felder werden im Hintergrund in Form von Formularen dargestellt und können im Frontend über Vorlagentags flexibel aufgerufen werden, was eine umfassende Anpassung der Inhaltsstruktur ermöglicht.
Erstellung einer unabhängigen URL-Struktur und eines Vorlagensystems
Die benutzerdefinierten Artikeltypen unterstützen die Definition eigener URL-Aliase (Slugs). Beispielsweise können Sie den festen Link für Produktarten auf Folgendes einstellen:/product/%postname%Setzen Sie die Aktivität auf/event/%postname%Das macht die URL nicht nur sinnvoller und SEO-freundlicher, sondern erleichtert es auch den Nutzern, die Struktur der Website zu verstehen.
Empfohlene Lektüre Erlernen Sie die Anpassung von WooCommerce-Seitenvorlagen: Eine praktische Entwicklungsanleitung von Null bis Eins.。
Was noch wichtiger ist, sucht das Template-Hierarchiesystem von WordPress zuerst nach einem Template-File, das mit dem benutzerdefinierten Artikeltyp übereinstimmt. Beispielsweise sucht es nach einem Template-File mit dem NamenproductJe nach Typ sucht das System nacheinander nachsingle-product.php、single.php、singular.phpUsw. Dies ermöglicht es Ihnen, für verschiedene Arten von Inhalten völlig unterschiedliche Frontend-Anzeigestile zu entwerfen, ohne komplexe Bedingungslogik in einem einzigen Template schreiben zu müssen.
Zwei Methoden zum Erstellen benutzerdefinierter Artikeltypen
In WordPress gibt es hauptsächlich zwei gängige Methoden, um benutzerdefinierte Artikeltypen zu erstellen: die Registrierung über Code in der Theme-Datei und die Verwendung leistungsstarker spezialisierter Plugins.
Mit Plugins schnell erstellen
Für Benutzer, die nicht mit der Codeentwicklung vertraut sind oder eine schnelle Inbetriebnahme benötigen, ist die Verwendung von Plugins der einfachste Weg. Custom Post Type UI und Toolset Types sind zwei beliebte Plugins. Sie bieten eine intuitive Benutzeroberfläche, mit der Sie alle Parameter für Artikeltypen wie Namen, Tags, Icons, öffentliche Sichtbarkeit und Unterstützung für Archivseiten über ein Formular definieren können.
Der Vorteil dieser Methode besteht darin, dass keine Codierung erforderlich ist, die Einstellungen sofort wirksam werden und sie in der Regel gut in die von Plugins bereitgestellte Metadatenverwaltungsfunktion integriert ist. Allerdings sind die Nachteile ebenfalls offensichtlich: Die Funktionalität ist auf die vom Plugin bereitgestellten Optionen beschränkt, und die Anpassungsmöglichkeiten sind möglicherweise nicht ausreichend. Außerdem, wenn in Zukunft das Theme geändert oder das Plugin deaktiviert wird, bleiben die Daten zwar in der Datenbank erhalten, aber die Registrierungsfunktion könnte verloren gehen, und es wird zusätzlicher Code benötigt, um sie erneut zu deklarieren.
Durch Registrierung über einen Codefunktion (empfohlen)
Für Entwickler, die Stabilität, Kontrolle und Leistung anstreben, ist die Registrierung im Theme oder in benutzerdefinierten Plugins über Code eine professionellere und empfohlene Methode. Der Kern dieser Methode besteht darin, die von WordPress bereitgestellten Funktionen zu nutzen. register_post_type() Funktion.
Du musst den Registrierungscode in das Thema einfügen.functions.phpIn der Datei, oder noch besser, erstellen Sie ein unabhängiges Plugin für die Websitefunktionen. Der Vorteil davon ist, dass die Funktionen vom Theme getrennt sind, und selbst wenn Sie das Theme ändern, funktionieren die benutzerdefinierten Artikeltypen und ihre Daten weiterhin einwandfrei.
Empfohlene Lektüre Eine Analyse des gesamten Prozesses der Website-Erstellung: Ein praktischer technischer Leitfaden für die Erstellung einer professionellen Website von Grund auf.。
Hier ist ein Beispiel für den grundlegenden Code zur Erstellung einer benutzerdefinierten Artikeltyp “Produkt”:
function create_product_post_type() {
$labels = array(
'name' => '产品',
'singular_name' => '产品',
'menu_name' => '产品管理',
'add_new' => '添加新产品',
'add_new_item' => '添加新产品',
'edit_item' => '编辑产品',
'new_item' => '新产品',
'view_item' => '查看产品',
'search_items' => '搜索产品',
'not_found' => '未找到产品',
'not_found_in_trash' => '回收站中无产品',
);
$args = array(
'labels' => $labels,
'public' => true, // 是否公开
'has_archive' => true, // 是否有归档页
'menu_icon' => 'dashicons-cart', // 后台菜单图标
'menu_position' => 5, // 菜单位置
'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields'), // 支持的功能
'rewrite' => array('slug' => 'products'), // URL别名
'show_in_rest' => true, // 是否在古腾堡编辑器和REST API中启用
);
register_post_type('product', $args); // 注册,'product'为内部标识符
}
add_action('init', 'create_product_post_type'); // 在初始化时执行函数 Dieser Code führt überregister_post_type()Die Funktion registriert einen Namen namensproductDie Artikeltypen wurden definiert und ihre Anzeigetags, grundlegenden Funktionen und unterstützten Module wurden konfiguriert. Fügen Sie sie hinzu.functions.phpDanach können Sie nach einem Refresh im Hintergrund das neue Menü “Produktmanagement” sehen.
Erweiterte Konfiguration und Vorlagenanpassung
Die Registrierung der Basistypen ist nur der erste Schritt. Um die benutzerdefinierten Artikeltypen wirklich leistungsstark und benutzerfreundlich zu machen, sind eine erweiterte Konfiguration und die Erstellung eines eigenen Templates erforderlich.
Konfigurieren Sie die charakteristischen Parameter und die zugehörige Taxonomie.
register_post_type()Die Funktion des$argsDas Parameter-Array bietet Dutzende von Konfigurationsoptionen. Einige der wichtigsten erweiterten Optionen sind:
* ‘publicly_queryable’Ob ein einzelner Artikel über die Frontend-URL zugänglich ist.
* ‘exclude_from_search’Ob Artikel dieses Typs aus den Suchergebnissen auf der Website ausgeschlossen werden sollen.
* ‘capability_type’Definieren Sie die Berechtigungsfähigkeiten dieses Typs, um eine genaue Berechtigungssteuerung zu ermöglichen.
* ‘taxonomies’Verknüpfen Sie vorhandene oder benutzerdefinierte Taxonomien. Beispielsweise können Sie “Produkte” mit einer benutzerdefinierten “Produktklassifizierung” verknüpfen.”product_catUnd Etikettenproduct_tagMan kann Produkte genauso wie Artikelkategorien verwalten und klassifizieren.
Erstellung einer benutzerdefinierten Taxonomie
ausnutzen register_taxonomy() Funktionen können spezielle Kategorien oder Tags für Ihre benutzerdefinierten Artikeltypen erstellen. Beispielsweise können Sie für “Produkte” die Kategorie “Produktreihe” erstellen:
function create_product_taxonomy() {
register_taxonomy(
'product_series', // 分类法标识符
'product', // 绑定的文章类型
array(
'label' => '产品系列',
'rewrite' => array('slug' => 'product-series'),
'hierarchical' => true, // 是否为层级式(类似分类)
'show_in_rest' => true,
)
);
}
add_action('init', 'create_product_taxonomy'); Entwicklung von speziellen Vorlagen-Dateien
Die Anpassung von Vorlagen ist das Herzstück der Frontend-Anzeige. Gemäß der Vorlagenhierarchie von WordPress müssen Sie für das Thema entsprechende Vorlagendateien erstellen. Beispielsweise:
1. Archivseitenvorlage: Erstellenarchive-product.php\nVon der Definitionyoursite.com/products/Diese Seite dient dazu, alle Produkte aufzulisten.
2. Vorlage für einen einzelnen Artikel: Erstellensingle-product.phpVon der Detailseite eines einzelnen Produkts, wie zum Beispielyoursite.com/products/sample-product/。
3. Taxonomie-Archivierungsvorlage: Erstellentaxonomy-product_series.phpUm eine Liste aller Produkte innerhalb einer bestimmten Produktreihe anzuzeigen.
In diesen Vorlagendateien können Sie die Standard-WordPress-Schleife verwenden, aber normalerweise müssen Sie sie mit benutzerdefinierten Feldabfragen kombinieren, um spezifische Informationen wie Preise und Spezifikationen der Produkte anzuzeigen.
Verwenden Sie pre_get_posts, um die Hauptabfrage zu ändern.
Manchmal müssen Sie möglicherweise die Standardabfrageparameter auf der Produktarchivierungsseite anpassen, z. B. die Anzahl der angezeigten Elemente pro Seite oder die Sortierreihenfolge. In diesem Fall sollten Sie die Abfrage nicht direkt in der Vorlagendatei ändern, sondern stattdessen Folgendes verwenden: pre_get_posts Dieser Aktions-Hook dient zur Änderung der Hauptabfrage und stellt eine bewährte Vorgehensweise bei der WordPress-Entwicklung dar.
function modify_product_archive_query($query) {
if (!is_admin() && $query->is_main_query() && is_post_type_archive('product')) {
$query->set('posts_per_page', 12); // 每页显示12个产品
$query->set('orderby', 'date'); // 按日期排序
$query->set('order', 'DESC'); // 降序排列
}
}
add_action('pre_get_posts', 'modify_product_archive_query'); Zusammenfassungen
Die benutzerdefinierten Artikeltypen sind eine der Kernfunktionen von WordPress, die es ermöglicht haben, aus einem Blogsystem ein leistungsstarkes Content-Management-System zu entwickeln. Sie bieten eine elegante Lösung für die Verwaltung und Darstellung komplexer Inhalte durch logische Trennung, Felderanpassung und Vorlagenindividualisierung. Ob es darum geht, schnell ein Plugin einzurichten oderregister_post_type()Die Funktion ermöglicht eine tiefe Codekontrolle, sodass Entwickler Implementierungswege finden können, die den Anforderungen des Projekts entsprechen. In Kombination mit benutzerdefinierten Taxonomien, erweiterten Feldern und der Entwicklung von Themen auf Vorlagenebene können Sie verschiedene professionelle Websites mit einer klaren Struktur, leistungsstarken Funktionen und einer hervorragenden Benutzererfahrung erstellen. Das Erlernen und effektive Nutzen dieser Funktion ist für jeden WordPress-Entwickler ein wichtiger Schritt auf dem Weg zur Weiterentwicklung seiner Fähigkeiten.
FAQ Häufig gestellte Fragen
Wo werden die Daten der benutzerdefinierten Artikeltypen in der Datenbank gespeichert?
Alle Artikel (Inhalte) der benutzerdefinierten Artikeltypen werden hauptsächlich gespeichert inwp_postsIn der Datenbank sind seinepost_typeDer Wert des Felds ist der Identifikator, den Sie bei der Registrierung definiert haben (z. B.productDie Taxonomie-Informationen, die mit diesen Artikeln verknüpft sind, werden gespeichert inwp_term_relationshipsundwp_term_taxonomyDie Informationen, die über benutzerdefinierte Felder (Metadaten) hinzugefügt werden, werden in der Tabelle gespeichert.wp_postmetaIn der Datenbank.
Wenn ich das Plugin zum Erstellen von benutzerdefinierten Artikeltypen deaktiviere, geht der Inhalt dann verloren?
Der Inhalt des Artikels selbst geht normalerweise nicht verloren, da er bereits gespeichert ist.wp_postsDie Tabelle. Allerdings, da der Code zur Registrierung dieses Artikels (der vom Plugin bereitgestellt wird) nicht mehr funktioniert, erkennt WordPress diesen Typ nicht mehr. Dies führt dazu, dass das Backend-Verwaltungsmenü verschwindet und Sie diese Inhalte nicht mehr im Backend anzeigen und verwalten können. Außerdem sind die Artikel-Links auf der Frontend-Seite möglicherweise nicht mehr zugänglich. Um dies zu verhindern, wird empfohlen, den wichtigen Registrierungscode in das Sub-Theme zu verschieben.functions.phpOder in benutzerdefinierten Funktions-Plugins.
Wie kann ich die feste Linkstruktur für vorhandene benutzerdefinierte Artikeltypen ändern?
Um die Struktur der Permalinks zu ändern, müssen Sie die bei der Registrierung angegebenen Informationen aktualisieren.rewriteParameter. Sie können die bei der Registrierung angegebenen Informationen ändern.register_post_type()Im Funktionscode‘rewrite’ => array(‘slug’ => ‘new-slug’)Nach der Änderung müssen Sie auf die Seite “Einstellungen” -> “Permalinks” im WordPress-Backend gehen und ohne Änderungen auf die Schaltfläche “Änderungen speichern” klicken. Dieser Vorgang aktualisiert die Rewrite-Regeln, sodass die neue Linkstruktur in Kraft tritt.
Können separate Block-Editor-Vorlagen für benutzerdefinierte Artikeltypen erstellt werden?
Ja, das ist durchaus möglich. Seit der Einführung des Gutenberg-Editors und der Unterstützung von Full Site Editing (FSE) in WordPress 5.0 können Sie für benutzerdefinierte Artikeltypen eigene Blockvorlagen oder Template-Komponenten erstellen. Dies ist in der Regel intuitiver, wenn Sie ein FSE-kompatibles Block-Theme wie Twenty Twenty-Three verwenden. Sie können die Vorlagen des Themes intemplatesErstellt unter dem Ordner z. B.single-product.htmlSolche Blockvorlagen-Dateien, oder durch das Thematheme.jsonIn den Dateien und Registrierungsparametern‘template’、‘template_lock’Konfigurieren Sie die Optionen, um ein einheitliches Blocklayout für alle Artikel dieses Typs zu definieren.
Was kommt als Nächstes, was kommt als Nächstes?
Erweiterte Lektüre und praktische Kenntnisse
Die folgenden Artikel stehen im Zusammenhang mit dem Thema dieses Artikels und eignen sich für eine vertiefte Lektüre. Oft ist es besser, mit dem Artikel zu beginnen, der Ihrem aktuellen Problem am nächsten kommt, und dann nach und nach die umliegenden Themen zu behandeln.
- SEO-Optimierungs-Leitfaden: Praktische Strategien und Kerntechniken zur Steigerung der Website-Zuflüsse
- Kompletter Leitfaden zur SEO-Optimierung: Von Grund auf die Kernstrategien für die Platzierung in Suchmaschinen beherrschen
- Systematisches Lernen der SEO-Optimierung von Grund auf: Praktischer Leitfaden und detaillierte Erklärung der Strategien
- Komplettes SEO-Optimierungs-Leitfaden: Praktische Strategien und Tipps von der Grundlage bis zur Meisterschaft
- Kompletter Leitfaden zur SEO-Optimierung von Webseiten: Praktische Strategien von der Grundlage bis zur Meisterschaft