Hozza létre saját WordPress felhasználói kapcsolattartó mezőit

Ma létrehoztam egy új bővítményt az ön számára. A plugin a felhasználók kapcsolattartási módszereivel foglalkozik. Alapvetõen, amikor egy felhasználót szerkeszt az adminisztrációban, van egy „elérhetõség” blokk. Nos, szeretném megmutatni Önnek, hogyan kell hozzáadni a saját mezőit oda, és egy kicsit tovább menni, hogyan jeleníthetem meg (vagy nem) ezeket az új mezőket a regisztrációs oldalon.


Itt van egy előnézet arról, mit fogunk létrehozni:

edit-custom-mezők

Új felhasználói mezők a szerkesztési oldalon

Egyedi mezők

Egyéni mezők a regisztrációs oldalon

És ehhez, mint általában, egy szép és egyszerű bővítményt fogunk létrehozni!

1. lépés: Hozza létre a beépülő modult

Hozzon létre egy új mappát a wp-content / plugins fájlban, és nevezze „egyedi felhasználó-kapcsolat-módszerek” -nek. Az újonnan létrehozott mappában hozzon létre egy „rc-custom-user-contact-method.php” nevű fájlt, és nyissa meg a kedvenc szerkesztő szoftverében.

Helyezze el ezt a tartalmat az üres fájlba. Ez a kód egyszerűen regisztrálja a plugint:

2. lépés: Határozza meg az egyéni mezőit

Ezután létre kell hoznunk egy olyan változót, amely tartalmazza az egyedi mezőket, a felhasználói kiadás oldalán és a regisztráció alapértelmezett oldalán használandó mezőket. Tárolja ezeket a mezőket $ extra_fields nevű változóban.

$ extra_fields = tömb (
tömb ('facebook', __ ('Facebook felhasználónév', 'rc_cucm'), igaz),
tömb ('twitter', __ ('Twitter felhasználónév', 'rc_cucm'), igaz),
tömb ('googleplus', __ ('Google+ ID', 'rc_cucm'), igaz),
tömb ('linkedin', __ ('Linked In ID', 'rc_cucm'), hamis),
tömb ('pinterest', __ ('Pinterest felhasználónév', 'rc_cucm'), hamis),
tömb ('wordpress', __ ('WordPress.org felhasználónév', 'rc_cucm'), hamis),
tömb ('telefon', __ ('telefonszám', 'rc_cucm'), igaz)
);

Az összes mezőt olyan tömbben tároljuk, amelynek 3 paramétere van, az első a mező azonosítója, a második a mező címkéje, és az utolsó egy logikai információ, amely meghatározza, hogy a mező megjelenik-e a regisztrációs oldalon vagy sem. . Felvehet annyi paramétert, amennyit csak akar, például egy helyőrzőt vagy a szükséges információkat.

3. lépés: Akassza a jobb szűrőt

Most be kell kapcsolnunk egy funkciót a jobb szűrőhöz. Konkrét esetben a szűrő „user_contactmethods”, és a létrehozni kívánt funkció neve „rc_add_user_contactmethods”..

// Használja a user_contactmethods új mezők hozzáadásához
add_filter ('user_contactmethods', 'rc_add_user_contactmethods');

4. lépés: Készítse el az egyedi mezőket

Most létre kell hoznunk az „rc_add_user_contactmethods” függvényt. Ez az, amely hozzáadja az egyedi mezőket a felhasználói szerkesztési oldalhoz. A jó hír az, hogy a mezőket tömbben tároltuk, ez azt jelenti, hogy a következő függvény teljesen dinamikus lesz, és elég egyszerű lesz új mezőket hozzáadni, csak a $ extra_fields változó módosításával..

/ **
* Adjon hozzá egyéni felhasználók egyedi kapcsolattartási módszereit
*
* @ hozzáférés nyilvános
* @since 1.0
* @ visszatérés érvénytelen
* /
rc_add_user_contactmethods függvény ($ user_contactmethods) {

// Szerezz be mezőket
globális extra extra mezők;

// Az egyes mezők megjelenítése
foreach ($ extra_fields mint $ mező) {
if (! isset ($ contactmethods [$ mező [0]]))
$ user_contactmethods [$ mező [0]] = $ mező [1];
}

// Visszaadja a kapcsolat módszereit
return $ user_contactmethods;
}

Ebben a lépésben, ha menti, és aktiválja a plugint, akkor látnia kell az egyéni mezőket a felhasználói szerkesztési oldalon. Mivel a helyes horgot használjuk, nem kell létrehoznunk a „mentés” mezőkre vonatkozó adatokat. Tehát a plugin egyelőre nagyszerűen működik. De szeretnék egy kicsit tovább menni, és hozzáadni azt a lehetőséget, hogy ezeket a mezőket megjelenítsem a regisztrációs oldalon. Ellenőrizze, hogy ellenőrizte-e a „Bárki regisztrálhat” jelölőnégyzetet a beállítások alatt, különben nem fogja látni a „Regisztráció” linket..

5. lépés: A regisztrációs oldal horgai

A mezők hozzáadásához a regisztrációs oldalra legalább két horgot meg kell nyitnunk és két funkciót kell létrehoznunk. Az egyik a mezők megjelenítésére, a másik a mezők adatainak az adatbázisba mentésére szolgál.

Kapcsoljuk be funkcióinkat:

// Add a mezőket a regisztrációs folyamathoz
add_action ('register_form', 'rc_register_form_display_extra_fields');
add_action ('user_register', 'rc_user_register_save_extra_fields', 100);

6. lépés: Az egyedi mezők regisztrációs oldalának megjelenítése

A fenti kódban két funkciót deklaráltunk. Az első a mezők megjelenítése a regisztrációs oldalon. Ebben a részben ügyelnünk kell az egyes tömbök harmadik paraméterére a $ extra_fields mezőben. Ez a logikai paraméter megmutatja, hogy a mezőket meg kell-e jeleníteni vagy sem. Igaz: a mező jelenik meg, hamis: a mező nem jelenik meg.

/ **
* Az egyéni mezők megjelenítése a regisztrációs oldalon
*
* Az egyéni mezők megjelenítése a regisztrációkor, ha a harmadik mező paramétere igaz
*
* @ hozzáférés nyilvános
* @since 1.0
* @ visszatérés érvénytelen
* /
rc_register_form_display_extra_fields () funkció

// Szerezz be mezőket
globális extra extra mezők;

// Az egyes mezők megjelenítése, ha a 3. paraméter "igaz" -ra van állítva
foreach ($ extra_fields mint $ mező) {
if ($ mező [2] == true) {
$ field_value = isset ($ _POST [$ mező [0]])? $ _POST [$ mező [0]]: '';
visszhang ”

„ } // endif } // end foreach }

7. lépés: Tárolja a mezők értékeit a regisztráció során

Most, hogy mezőink megjelennek a regisztrációs oldalon, szükségünk van arra, hogy értékeiket az adatbázisba tároljuk. Ez az „rc_user_register_save_extra_fields” funkció ideje. Ehhez a „wp_update_user ()”Funkció.

/ **
* A mező értékeinek mentése
*
* @ hozzáférés nyilvános
* @since 1.0
* @ visszatérés érvénytelen
* /
rc_user_register_save_extra_fields függvény ($ user_id, $ password = '', $ meta = array ()) {

// Szerezz be mezőket
globális extra extra mezők;

$ felhasználói adatok = tömb ();
$ userdata ['ID'] = $ user_id;

// Minden mező mentése
foreach ($ extra_fields mint $ mező) {
if ($ mező [2] == true) {
$ felhasználói adatok [$ mező [0]] = $ _POST [$ mező [0]];
} // endif
} // end foreach

$ new_user_id = wp_update_user ($ felhasználói adatok);
}

Következtetés

Nos, láttuk az új mezők hozzáadásának alapjait a felhasználói kapcsolatfelvételi módszerekhez, de ennyi. Például eltávolíthatja a meglévő mezőket, például a „Yahoo IM”, az „AIM” és a „Jabber”, egyszerűen eltávolítva (). De hozzáadhat néhány funkciót az egyéni mezők fertőtlenítéséhez, például annak ellenőrzéséhez, hogy a telefonszám megfelelő formátumban van-e, szükség van-e egy mezőre stb., Stb.!

Ó, és egy utolsó dolog ... ha bármilyen mező adatait meg szeretné jeleníteni, egyszerűen használja ezt:

// Az 1. paraméter felhasználói azonosító
// A 2. Param mező azonosítója
// A 3-as Param ott van, hogy var vagy tömböt kapjunk
echo get_user_meta (1, 'twitter', igaz);  
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me

    Like this post? Please share to your friends:
    Adblock
    detector
    map