frissítve: 2022. 05. 15.
Olvasási idő: 3 perc
Plugout

Egyedi mezők hozzáadása a WordPress profil oldalakhoz

Előfordulhat, hogy szeretnél valamilyen megjegyzést, egyéb adatot tárolni a felhasználói profilban, az előre megadott mezőkön túl. Erre egy kézenfekvő megoldás lehet az Advanced Custom Fields nevű plugin használata - de mi van akkor, ha plugin nélkül szeretnéd ezt megoldani? 


Ebben az esetben két dologról kell gondoskodnunk:

  1. Az adatbeviteli mezők biztosításáról
  2. Az adatok mentéséről

Az alábbi snippet mindkettőt megoldja, ugorjunk is neki! Az mu-plugins mappában hozzunk létre egy fájlt (add_user_custom_fields.php), az alábbi tartalommal:

Két függvényt látunk a fenti kódban:

  • Az első (show_user_flagged_info()) gondoskodik arról, hogy a felhasználói profil oldalon megjelenjen a mező (méghozzá abban a struktúrában, amit a HTML részben leírunk). Fontos: ha nem szeretnénk, hogy a felhasználó a saját profiljában lássa ezeket a mezőket, akkor az add_action( 'show_user_profile', 'show_user_flagged_info' ); sort töröljük!
  • A második (save_user_flagged_info($user_id)) elvégzi a szükséges adatbázisműveletet, vagyis frissíti a felhasználó metaadatát. A fenti megjegyzés itt is aktuális: ha nem szeretnénk, hogy a felhasználó ezt az adatot frissíthesse, akkor töröljük az add_action( 'personal_options_update', 'save_user_flagged_info' ); sort.

Mentést követően navigáljunk el a saját vagy egy felhasználónk profil oldalára: ha minden igaz, akkor a mező meg fog jelenni, és ha bepipáljuk, akkor az adatábázisban létre is jön a bejegyzés a felhasználóhoz.

Készen is vagyunk! A fenti snippetet is felhasználva készítettük az Utánvét Ellenőr hivatalos pluginját, amivel felhasználó szinten szűrni tudod az utánvétes rendelés elérhetőségét.