abgx360.net
  • Home
  • Уроци
  • Сигурност
  • Новини и общност
  • Отзиви
RSS

Erstellen Sie Ihre eigenen WordPress-Benutzerkontaktfelder

07.06.2020 Jeffrey Wilson Tutorials

Erstellen Sie Ihre eigenen WordPress-Benutzerkontaktfelder

Heute habe ich ein neues Plugin für dich erstellt. Ein Plugin, das sich mit den Kontaktmethoden der Benutzer befasst. Grundsätzlich gibt es beim Bearbeiten eines Benutzers in der Verwaltung einen Block “Kontaktinformationen”. Nun, ich möchte Ihnen zeigen, wie Sie dort Ihre eigenen Felder hinzufügen und ein bisschen weiter gehen, wie Sie diese neuen Felder auf der Registrierungsseite anzeigen (oder nicht).

Hier ist eine Vorschau dessen, was wir erstellen werden:

Bearbeiten Sie benutzerdefinierte Felder

Neue Benutzerfelder auf der Bearbeitungsseite

Benutzerdefinierte Felder

Benutzerdefinierte Felder auf der Registrierungsseite

Und dazu erstellen wir wie gewohnt ein schönes und einfaches Plugin!

Contents

  • 1 Schritt 1: Erstellen Sie das Plugin
  • 2 Schritt 2: Definieren Sie Ihre benutzerdefinierten Felder
  • 3 Schritt 3: Haken Sie den richtigen Filter ein
  • 4 Schritt 4: Erstellen Sie unsere benutzerdefinierten Felder
  • 5 Schritt 5: Hooks der Registrierungsseite
  • 6 Schritt 6: Registrierungsseite für benutzerdefinierte Felder anzeigen
  • 7 Schritt 7: Speichern von Feldwerten bei der Registrierung
  • 8 Fazit

Schritt 1: Erstellen Sie das Plugin

Erstellen Sie einen neuen Ordner in wp-content / plugins und nennen Sie ihn “custom-user-contact-Methods”. Erstellen Sie in diesem neu erstellten Ordner eine Datei mit dem Namen “rc-custom-user-contact-methods.php” und öffnen Sie sie in Ihrer bevorzugten Editor-Software.

Platzieren Sie diesen Inhalt in Ihrer leeren Datei. Dieser Code registriert einfach das Plugin:

Schritt 2: Definieren Sie Ihre benutzerdefinierten Felder

Als Nächstes müssen wir eine Variable erstellen, die unsere benutzerdefinierten Felder enthält, die auf der User Edition-Seite und auch auf der Registrierungsstandardseite verwendet werden sollen. Speichern wir diese Felder in einer Variablen namens $ extra_fields.

$ extra_fields = array (
Array ('Facebook', __ ('Facebook-Benutzername', 'rc_cucm'), true),
Array ('twitter', __ ('Twitter-Benutzername', 'rc_cucm'), true),
Array ('googleplus', __ ('Google+ ID', 'rc_cucm'), true),
Array ('linkedin', __ ('Linked In ID', 'rc_cucm'), false),
Array ('pinterest', __ ('Pinterest-Benutzername', 'rc_cucm'), false),
Array ('wordpress', __ ('WordPress.org Benutzername', 'rc_cucm'), false),
Array ('phone', __ ('Telefonnummer', 'rc_cucm'), true)
);

Wir speichern jedes Feld in einem Array mit 3 Parametern, der erste ist die Feld-ID, der zweite ist die Feldbezeichnung und der letzte ist eine boolesche Information, die definiert, ob das Feld auf der Registrierungsseite angezeigt wird oder nicht . Sie können beliebig viele Parameter hinzufügen, z. B. einen Platzhalter oder erforderliche Informationen.

Schritt 3: Haken Sie den richtigen Filter ein

Wir müssen jetzt eine Funktion an den richtigen Filter anschließen. In unserem speziellen Fall lautet der Filter "user_contactmethods" und der Name der Funktion, die wir erstellen möchten, lautet "rc_add_user_contactmethods"..

// Verwenden Sie die user_contactmethods, um neue Felder hinzuzufügen
add_filter ('user_contactmethods', 'rc_add_user_contactmethods');

Schritt 4: Erstellen Sie unsere benutzerdefinierten Felder

Wir müssen jetzt die Funktion "rc_add_user_contactmethods" erstellen. Es ist dasjenige, das unsere benutzerdefinierten Felder zur Benutzerbearbeitungsseite hinzufügt. Die gute Nachricht ist, dass wir unsere Felder in einem Array gespeichert haben. Dies bedeutet, dass die folgende Funktion vollständig dynamisch ist und es ziemlich einfach ist, neue Felder hinzuzufügen, indem Sie einfach die Variable $ extra_fields ändern.

/ **
* Fügen Sie benutzerdefinierte Benutzer benutzerdefinierte Kontaktmethoden hinzu
* *
* @access public
* @since 1.0
* @return void
* /
Funktion rc_add_user_contactmethods ($ user_contactmethods) {

// Felder abrufen
globale $ extra_fields;

// Alle Felder anzeigen
foreach ($ extra_fields als $ field) {
if (! isset ($ contactmethods [$ field [0]]))
$ user_contactmethods [$ field [0]] = $ field [1];
}}

// Gibt die Kontaktmethoden zurück
return $ user_contactmethods;
}}

Wenn Sie in diesem Schritt das Plugin speichern und aktivieren, sollten Ihre benutzerdefinierten Felder auf der Benutzerbearbeitungsseite angezeigt werden. Da wir den richtigen Hook verwenden, müssen wir keine Felddaten zum Speichern erstellen. Das Plugin funktioniert also momentan hervorragend. Ich möchte jedoch noch einen Schritt weiter gehen und die Option hinzufügen, diese Felder auf der Registrierungsseite anzuzeigen. Aktivieren Sie das Kontrollkästchen "Jeder kann sich registrieren" unter "Einstellungen". Andernfalls wird der Link "Registrieren" nicht angezeigt.

Schritt 5: Hooks der Registrierungsseite

Um unsere Felder auf der Registrierungsseite hinzuzufügen, müssen wir auf mindestens zwei Hooks zugreifen und zwei Funktionen erstellen. Eine zum Anzeigen der Felder und die zweite zum Speichern der Felddaten in der Datenbank.

Lassen Sie uns unsere Funktionen einbinden:

// Fügen Sie unsere Felder zum Registrierungsprozess hinzu
add_action ('register_form', 'rc_register_form_display_extra_fields');
add_action ('user_register', 'rc_user_register_save_extra_fields', 100);

Schritt 6: Registrierungsseite für benutzerdefinierte Felder anzeigen

Im obigen Code haben wir zwei Funktionen deklariert. Die erste besteht darin, die Felder auf der Registrierungsseite anzuzeigen. In diesem Teil müssen wir uns um den dritten Parameter jedes Arrays in $ extra_fields kümmern. Dieser boolesche Parameter gibt an, ob die Felder angezeigt werden müssen oder nicht. Richtig: Das Feld wird angezeigt. Falsch: Das Feld wird nicht angezeigt.

/ **
* Benutzerdefinierte Felder auf der Registrierungsseite anzeigen
* *
* Benutzerdefinierte Felder bei der Registrierung anzeigen, wenn der dritte Parameter des Felds auf true gesetzt ist
* *
* @access public
* @since 1.0
* @return void
* /
Funktion rc_register_form_display_extra_fields () {

// Felder abrufen
globale $ extra_fields;

// Jedes Feld anzeigen, wenn der 3. Parameter auf "true" gesetzt ist
foreach ($ extra_fields als $ field) {
if ($ field [2] == true) {
$ field_value = isset ($ _POST [$ field [0]])? $ _POST [$ field [0]]: '';
Echo '

'; } // endif } // foreach beenden }}

Schritt 7: Speichern von Feldwerten bei der Registrierung

Nachdem unsere Felder auf der Registrierungsseite angezeigt werden, müssen wir ihre Werte in der Datenbank speichern. Dies ist der Aime der Funktion "rc_user_register_save_extra_fields". Dazu müssen wir das “wp_update_user ()”Funktion.

/ **
* Feldwerte speichern
* *
* @access public
* @since 1.0
* @return void
* /
Funktion rc_user_register_save_extra_fields ($ user_id, $ password = '', $ meta = array ()) {

// Felder abrufen
globale $ extra_fields;

$ userdata = array ();
$ userdata ['ID'] = $ user_id;

// Speichern Sie jedes Feld
foreach ($ extra_fields als $ field) {
if ($ field [2] == true) {
$ userdata [$ field [0]] = $ _POST [$ field [0]];
} // endif
} // foreach beenden

$ new_user_id = wp_update_user ($ userdata);
}}

Fazit

Wir haben die Grundlagen zum Hinzufügen neuer Felder zu den Benutzerkontaktmethoden kennengelernt, aber das ist alles. Sie können beispielsweise vorhandene Felder wie "Yahoo IM", "AIM" und "Jabber" entfernen, indem Sie einfach unset () ausführen. Sie können aber auch einige Funktionen hinzufügen, um Ihre benutzerdefinierten Felder zu bereinigen, um beispielsweise zu überprüfen, ob die Telefonnummer ein geeignetes Format hat, ob ein Feld erforderlich ist oder nicht usw. usw. Zögern Sie nicht, in den Kommentaren nach bestimmten Funktionen zu fragen!

Oh, und noch eine letzte Sache ... Wenn Sie die Daten eines Ihrer Felder anzeigen möchten, verwenden Sie einfach Folgendes:

// Parameter 1 ist die Benutzer-ID
// Param 2 ist die Feld-ID
// Param 3 ist da, um eine Variable oder ein Array zu erhalten
echo get_user_meta (1, 'twitter', true);  
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    « Ús de Markdown amb WordPress: Guia per a principiants » Fügen Sie Ihrer Website mit MotoPress Slider für WordPress wunderschöne Folien hinzu

    Random Posts

    • TMDHosting -katsaus
    • InMotion MySQL andmebaasi õpetus
    • Els millors temes de WordPress de vídeo disponibles el 2018
    • 12+ millors elements complementaris per a WordPress 2020
    • WordPress 2020的12+最佳Elementor插件
    • Εύρεση πελατών σχεδιασμού ιστοσελίδων (7 βήματα)
    • Kas FatCow lubab teil oma saiti omada?
    • WebHostingHub Kontrolpanelvejledning
    • 与多位讲师一起发展您的LearnDash培训业务
    • 12 parimat WordPressi pistikprogrammi (tasuta ja tasuline)
    • Tarjoaako BlueHost SEO-palveluita?
    • Die besten WordPress Halloween Rabatte & Gutscheine 2019
    • So installieren Sie kostenloses SSL von Let’s Encrypt in WordPress
    • Τύποι φιλοξενίας – Η διαφορά μεταξύ Shared VPS και Dedicated Web Hosting
    • Voinko siirtää sivustoni pois FatCow-palvelusta?
    • So versenden Sie Kundenrechnungen über WordPress
    • Guia dels complements de traducció WordPressPress
    • Jak přeložit svůj web WordPress do více jazyků
    • WebHostingHub-gennemgang
    • Krediitkaardimaksete töötlemine InMotionis
    • HostGatori ülevaade
    • 10+最佳YouTube WordPress插件,以提高用户参与度
    • Kas WebHostingHub lubab teil oma saiti omada?
    • Examen InMotion
    • SiteGround ülevaade
    • Aide-mémoire WordPress
    • Politique de remboursement Kinsta et garantie de remboursement (2020): Comment annuler votre compte d’hébergement Kinsta WordPress et obtenir un remboursement?
    • Meilleurs générateurs de sites statiques
    • DigitalOceani ülevaade
    • WordPress可以做的10件事
    • WebHostingHubi abil ajaveebi hostimine
    • Kas WebHostingHub töötab iPhone’is ja iPadis?
    • Evolució de OptinMonster per a WordPress: solucions, actualitzacions i canvis
    • Die besten WordPress Geotargeting Plugins für standortbasierte Inhalte
    • Com obtenir documents signats amb WordPress
    • GoDaddy veebimajutuse ülevaade
    • Kan jeg betale BlueHost med Paypal?
    • Kas mõni FatCow majutuse edendamine / allahindlused?
    • Hosting af en blog med WebHostingHub
    • Els meus 25 millors fragments de WooCommerce per a la segona part de WordPress
    • Αναθεώρηση GoDaddy Web Hosting
    • bbPress-Foren für WordPress: Eine Kurzanleitung
    • Fórum bbPress pro WordPress: Stručný průvodce
    • Bluehost-arvostelu – päivitetty toukokuuhun 2020
    • FrontPoint Security Review
    • Una guia per a les mides de retallades d’imatges de WordPress
    • So richten Sie den Google Tag Manager für WordPress ein
    • Com trobar el vostre nínxol de blocs amb WordPress
    • Instal·leu WordPress en AWS – Amazon Web Services
    • FatCow e-handelsværktøjer
    • Hvor meget koster ekstra domæner på BlueHost?
    • BlueHost tilmeldingsvejledning
    • StartLogic ülevaade
    • Ús de Markdown amb WordPress: Guia per a principiants
    • La taula periòdica dels complements de WordPress (i els meus 5 millors)
    • Kas ma saan FatCow’is blogi luua?
    • Põhjalik ülevaade poepidajast – tundlik WordPressi teema
    • Jak vytvořit e-mailovou odkapávací kampaň pro WordPress
    • Webdesign-tendenser
    • Kas PayPaliga saab maksta InMotioni abil?
    • 80多个最佳WooCommerce扩展和附加组件
    • Kuidas oma saiti WebHostingHubi üle kanda
    • So erstellen Sie Facebook Remarketing-Kampagnen für WordPress
    • Parim foorumi tarkvara (tasuta ja tasuline)
    • 15个最佳预约WordPress插件
    • 15+ millors complements de membres de WordPress
    • Revue SiteGround eCommerce (2020): est-ce bon pour l’hébergement de sites Web d’achat en ligne? [Obtenez 70% de réduction]
    • 10 besten WordPress Abandoned Cart Plugins
    • Kuinka siirtää verkkosivustosi eHostiin
    • Jak přidat avatary na váš web WordPress pomocí Gravatar
    • SQL-huijaussivu
    • A2 majutuse ülevaade
    • 20 + Millors blocs de WordPress per a blocs personals i autònoms
    • 33 façons de monétiser un site Web / blog
    • Overførsel af websteder væk fra WebHostingHub
    • Com exportar i importar blocs de Gutenberg a WordPress
    • 在WordPress电子商务商店中出售礼物的提示
    • Revisió de Youzer: complement addicional de BuddyPress per WordPress
    • 20+ Beste Drag & Drop Page Builder WordPress Plugins
    • WebHostingHub-ohjauspaneelin opas
    • Bluehost-anmeldelse – Opdateret til maj 2020
    • Saidipõhine hinnakujundus (2020) Kui palju iga plaan maksab?
    • Το WebHostingHub τοποθετεί διαφημίσεις στους ιστότοπους του πελάτη τους;
    • Kas BlueHost pakub igakuist makse?
    • Fügen Sie Ihrer Website mit MotoPress Slider für WordPress wunderschöne Folien hinzu
    • Οδηγός πίνακα ελέγχου InMotion
    • Põhjas | E-kaubanduse teema põhjalik ülevaade
    • Voinko maksaa InMotion Paypalilla?
    • Kuinka perustaa ostoskori WebHostingHubiin
    • KUIDAS VEEBILEHT LOETAKSE
    • 2020年20个最佳WordPress联系表格插件
    • Oma veebisaidi üleviimine BlueHostilt WebHostingHubile
    • 15+ millors complements del menú de WordPress
    • 如何在搜索引擎中排名更高
    • Top 10 WordPress Profanity Filter und Spam Blocking Plugins
    • Hvor godt er Porto responsivt WordPress og WooCommerce tema?
    • Venedor – WordPress + WooCommerce-tema dybdegående anmeldelse
    • Erstellen Sie ein benutzerdefiniertes Wörterbuch mit dem CM Tooltip Glossary WordPress Plugin
    • FatCow ülevaade
    • GoDaddy-arvostelu

    Follow us

    • facebook
    • twitter
    • dribbble

    ↑

    • Home
    • Уроци
    • Сигурност
    • Новини и общност
    • Отзиви