So erstellen Sie ein benutzerdefiniertes WordPress-Feld programmgesteuert
Veröffentlicht: 2022-01-20Möchten Sie ein benutzerdefiniertes WordPress-Feld programmgesteuert erstellen ? Wenn ja, haben wir den perfekten Leitfaden für Sie mit einigen zusätzlichen Optionen.
Es gibt viele Gründe, warum WordPress das beliebteste CMS auf der ganzen Welt ist. Aber eine der wichtigsten ist, hochgradig anpassbar zu sein. Sie können viele Elemente einer WordPress-Website anpassen, zu denen auch benutzerdefinierte Felder gehören. WordPress hat so viele weitere anpassbare Funktionen für sie, dass Sie die benutzerdefinierten Felder sogar programmgesteuert auf Ihrer Website hinzufügen können.
Was sind benutzerdefinierte Felder?
Ein benutzerdefiniertes Feld wird an einen Beitrag oder eine Seite angehängt und speichert zusätzliche Informationen , die für eine Website verwendet werden sollen. Es kann sich auch auf jede Art von Post beziehen. So kann es auch Informationen zu Produkten, Kommentaren oder sogar benutzerdefinierten Beitragstypen sammeln.
Sie werden in der Datenbank Ihrer WordPress-Website unter der Tabelle wp_postmeta gespeichert . Es enthält die Parameter meta_id, post_id, meta_key und meta_value.
Darüber hinaus können Sie im benutzerdefinierten Feld auch beliebige Daten hinterlegen. Sie können sogar von Frontend- und Backend-Benutzern oder auch von einem anderen PHP-Skript verwendet werden.
Warum ein benutzerdefiniertes Feld in WordPress erstellen?
Benutzerdefinierte Felder können verwendet werden, um eine Vielzahl von Anforderungen zu erfüllen. Wann immer Sie zusätzliche Informationen zu einem Beitrag hinzufügen müssen, kann ein benutzerdefiniertes Feld sehr nützlich sein.
Benutzerdefinierte Felder werden jedoch hauptsächlich von Entwicklern verwendet, um ihren Websites neue Funktionen hinzuzufügen. Eine der nützlichsten Anwendungen besteht darin, sie im Frontend zu verwenden, damit die Benutzer ein Formular ausfüllen können.
Aber hier sind einige weitere Beispiele, wo ein benutzerdefiniertes Feld verwendet werden kann:
- Fügen Sie Beiträgen eine „Stimmung“ hinzu, in der Sie zeigen möchten, wie Sie sich beim Schreiben gefühlt haben.
- Lassen Sie die Benutzer wissen, ob ein Beitrag für eine bestimmte Altersgruppe vorgeschlagen wird.
- Speichern Sie die Zeit, die zum Lesen eines Beitrags benötigt wird.
- Bewerten Sie ein Produkt oder einen Beitrag.
- Referenzdaten, die bei Vorhandensein ein Skript auslösen.
Abgesehen davon verwenden Themes und Plugins in der Regel benutzerdefinierte Felder, um bestimmten Beiträgen oder Seiten spezielle Funktionen zuzuweisen. In ähnlicher Weise ist es auch üblich, benutzerdefinierte Felder auf Benutzeroberflächen zu verwenden , sowohl im Frontend als auch im Backend.
Nachdem Sie nun mit der Bedeutung von benutzerdefinierten Feldern in WordPress vertraut sind, sehen wir uns an, wie wir sie hinzufügen können.
Wie füge ich benutzerdefinierte Felder in WordPress hinzu?
Standardmäßig können Sie jedem Beitrag ein benutzerdefiniertes Feld hinzufügen, während Sie ihn im Editor bearbeiten. Alles, was Sie tun müssen, ist es auf der Registerkarte Seitenoptionen zu aktivieren und nach unten zu scrollen, um das Metafeld für benutzerdefinierte Felder zu finden.
Klicken Sie einfach auf „Benutzerdefiniertes Feld hinzufügen“ und geben Sie Name und Wert ein, um ein benutzerdefiniertes Feld manuell zu erstellen.
Aber wenn Sie hier sind, suchen Sie sicherlich nach einer Möglichkeit, das benutzerdefinierte WordPress-Feld programmgesteuert zu erstellen. Also, lass uns weitermachen und eintauchen.
Wie erstelle ich programmgesteuert ein benutzerdefiniertes WordPress-Feld?
Sie können ganz einfach ein benutzerdefiniertes Feld in WordPress programmgesteuert erstellen, wenn Sie über grundlegende technische Kenntnisse in der Programmierung verfügen.
Aber bevor wir beginnen, stellen Sie sicher, dass Sie Ihre Website sichern und programmgesteuert ein untergeordnetes Thema erstellen oder eines der untergeordneten Themen-Plugins verwenden. Wir werden die heiklen Dateien Ihrer Website ändern und diese Änderungen werden möglicherweise auch gelöscht, wenn Sie Ihr WordPress-Theme aktualisieren. Wenn Sie jedoch ein untergeordnetes Design verwenden, werden die Anpassungen in diesen Dateien auch nach der Aktualisierung Ihres WordPress-Designs nicht beeinträchtigt.
Wenn Sie die Themendateien nicht direkt selbst ändern möchten, können Sie auch Plugins wie Code Snippets verwenden. Nichtsdestotrotz werden wir in diesem Tutorial das untergeordnete Thema verwenden, weil es für uns einfacher ist.
1. Greifen Sie auf die Theme-Datei functions.php zu
Nachdem Sie ein untergeordnetes Design erstellt haben, können Sie damit beginnen, Code-Snippets in Ihrer Datei „function.php“ des Designs hinzuzufügen, um die benutzerdefinierten Felder zu erstellen. Gehen Sie einfach zu Appearance > Theme Editor und öffnen Sie die Datei functions.php in Ihrem WordPress-Dashboard. Fügen Sie dann die Codeausschnitte unten in diesem Editor hinzu und aktualisieren Sie die Datei .
Wir haben das Divi-Thema für dieses Tutorial verwendet. Der Theme-Editor kann jedoch je nach verwendetem Theme auf Ihrer Website anders aussehen.
2. Fügen Sie dem Design-Editor Code-Snippets hinzu
Wir werden die Funktion add_post_meta()
verwenden. Es benötigt drei Parameter: ID des Beitrags oder der Seite, Name des benutzerdefinierten Felds und dessen Wert. Ein vierter optionaler Parameter kann verwendet werden, um zu prüfen, ob das benutzerdefinierte Feld bereits vorhanden ist.
Das Hinzufügen eines benutzerdefinierten Felds ist also so einfach wie das Hinzufügen der folgenden Zeile zur Datei function.php
des untergeordneten Designs.
add_post_meta(460, "custom_field_name", "value", true);
Dadurch wird dem Beitrag ein benutzerdefiniertes Feld mit der ID 460 hinzugefügt.
Wir haben das benutzerdefinierte Feld für diese Demo einfach „custom_field_name“ genannt. Sie können aber auch einen String als Wert (value) zuweisen und den optionalen Parameter auf true setzen, um ihn nur zu erstellen, wenn er noch nicht existiert.
Dies ist natürlich der einfachste Zustand eines Skripts, um einem bestimmten Beitrag ein benutzerdefiniertes Feld hinzuzufügen. Es ist überhaupt nicht effizient, da es beim Laden jeder Seite gleichzeitig überprüft, ob das benutzerdefinierte Feld nutzlos vorhanden ist.
Glücklicherweise können wir es noch viel weiter verbessern, um eine akzeptable Lösung zu erreichen. Der publish_post()
ist in diesem Fall sehr nützlich, da er nur ausgelöst wird, wenn ein Beitrag veröffentlicht wird .
add_action('publish_post', 'add_custom_field_automatically'); function add_custom_field_automatically($post_ID) { if(!wp_is_post_revision($post_ID)) { add_post_meta($post_ID, 'meta_field', '55',true); } }
Da wir die globale Variable $post_ID
verwenden, gilt diese für alle neu veröffentlichten Beiträge .
Aktualisieren Sie ein benutzerdefiniertes Feld in WordPress
Wenn Sie ein benutzerdefiniertes Feld in WordPress programmgesteuert erstellen, können Sie es bei Bedarf auch mit einem ähnlichen Code-Snippet aktualisieren.
Um ein benutzerdefiniertes Feld zu aktualisieren, kann die Funktion update_post_meta()
verwendet werden. Wir verwenden auch denselben Hook wie das vorherige Skript, da es auch funktioniert, wenn Sie einen Beitrag aktualisieren. Fügen Sie einfach das folgende Code-Snippet zur Datei functions.php Ihrer Website hinzu.
add_action('publish_post', 'update_custom_field_automatically'); Funktion update_custom_field_automatically($post_ID) { if(!wp_is_post_revision($post_ID)) { update_post_meta($post_ID, 'meta_field', 20); } }
Dadurch wird der Wert des zuvor erstellten benutzerdefinierten Felds von 55 auf 20 geändert .
update_post_meta()
funktioniert auch als add_post_meta()
Funktion. Es kann auch ein neues benutzerdefiniertes Feld erstellen, wenn es nicht vorhanden ist.
Entfernen Sie benutzerdefinierte Felder in WordPress
Die Verwendung von Code-Snippets beschränkt sich nicht nur auf das Erstellen und Aktualisieren der benutzerdefinierten Felder in WordPress. Nachdem Sie ein benutzerdefiniertes WordPress-Feld programmgesteuert erstellt haben, kann es Situationen geben, in denen Sie es möglicherweise auch entfernen möchten.
Die Funktion, die es uns ermöglicht, alle benutzerdefinierten Felder mit einem bestimmten Namen (Schlüssel) zu entfernen, ist delete_post_meta_by_key(”meta_field”);
Es verwendet nur den benutzerdefinierten Feldnamen als eindeutigen Parameter.
Wie wir bereits besprochen haben, ist die Verwendung eines Hakens der richtige Weg, dies zu tun. Dieses Mal verwenden wir den Hook init()
, der hauptsächlich zum Initialisieren von Plugins und Themes verwendet wird. Fügen Sie erneut die folgenden Ausschnitte zur Datei functions.php hinzu.
add_action('init', 'remove_custom_field_automatically'); Funktion remove_custom_field_automatically() { delete_post_meta_by_key( 'meta_field' ); }
Um benutzerdefinierte Felder für bestimmte Beiträge zu entfernen, können Sie die Funktion delete_post_meta()
verwenden. Es kann auch verwendet werden, wenn dem benutzerdefinierten Feld ein bestimmter Wert zugewiesen wird.
Dieses funktioniert ähnlich wie das vorherige Snippet. Aber es bietet mehr Flexibilität, um gezielt bestimmte benutzerdefinierte Felder zu entfernen .
add_action('publish_post', 'delete_custom_field_automatically'); function delete_custom_field_automatically($post_ID) { if(!wp_is_post_revision($post_ID)) { delete_post_meta($post_ID, 'meta_field'); } }
Dieses Skript entfernt das benutzerdefinierte Feld namens „custom_field“ des aktuellen Beitrags, das durch die Variable „ $post_ID
“ angegeben wird.
Sie können ein benutzerdefiniertes Feld auch nur dann entfernen, wenn ihm ein bestimmter Wert zugeordnet ist. Fügen Sie es einfach als dritten Parameter hinzu.
delete_post_meta($post_ID, 'meta_field','20');
Das ist es! Sie können ein benutzerdefiniertes Feld in WordPress jetzt programmgesteuert erstellen, aktualisieren oder löschen. Passen Sie diese Snippets einfach an Ihre Website an, und Sie können sie möglicherweise noch weiter modifizieren.
Fazit
Dies ist unser Tutorial zum programmatischen Erstellen eines benutzerdefinierten Felds in WordPress . Sie können sehr nützlich sein, wenn Sie Ihren Benutzern zusätzliche Informationen auf Ihrer Website zur Verfügung stellen möchten.
Zusammenfassend haben wir Ihnen die Code-Snippets zum Erstellen benutzerdefinierter Felder in WordPress gezeigt. In ähnlicher Weise haben wir Ihnen auch einige weitere Snippets zur Verfügung gestellt, um die benutzerdefinierten Felder zu aktualisieren und zu entfernen. Sie können sich unter bestimmten Umständen je nach Bedarf Ihrer Website als nützlich erweisen.
Benutzerdefinierte Felder sind eine der besten Funktionen von WordPress und werden auch in WooCommerce häufig verwendet. Wir haben sogar Anleitungen, um benutzerdefinierte Felder in der WooCommerce-Kaufabwicklung hinzuzufügen und WooCommerce-Kaufabwicklungsfelder neu anzuordnen. Wenn Sie mehr über andere Anpassungen in WordPress und WooCommerce erfahren möchten, lesen Sie bitte die folgenden Beiträge:
- So erstellen Sie einen benutzerdefinierten WordPress-Beitragstyp
- Passen Sie die WordPress-Anmeldeseite an
- So passen Sie WooCommerce-bezogene Produkte an
Können Sie die benutzerdefinierten Felder jetzt programmgesteuert in WordPress erstellen? Hast du sie schon einmal erstellt? Lass es uns in den Kommentaren wissen.