Búðu til þína eigin reitina fyrir WordPress notendasambönd

Í dag bjó ég til nýjan viðbót fyrir þig. Viðbót sem fjallar um snertiaðferðir notenda. Í grundvallaratriðum þegar þú breytir notanda í stjórnuninni, þá er það „snerting fyrir upplýsingar“. Jæja, mig langar að sýna þér hvernig á að bæta við eigin reitum þínum þar og til að ganga aðeins lengra, hvernig á að sýna (eða ekki) þessa nýju reiti á skráningarsíðunni.


Hér er forsýning á því sem við ætlum að búa til:

breyta-sérsniðnum reitum

Nýir notendareitir á Breyta síðu

sérsniðin reitir

Sérsniðnir reitir á skráningarsíðu

Og til að gera það, eins og venjulega, ætlum við að búa til fallegt og einfalt tappi!

Skref 1: Búðu til viðbótina

Búðu til nýja möppu í wp-innihaldi / viðbótum og kallaðu hana „sérsniðna notanda-snertiaðferðir“. Inni í þessari nýstofnuðu möppu skaltu búa til skrá sem kallast „rc-custom-user-contact-method.php“ og opna hana í uppáhalds ritstjórahugbúnaðinum.

Settu þetta efni í tóma skrána þína. Þessi kóði skráir einfaldlega viðbætið:

Skref 2: Tilgreindu sérsniðna reiti þína

Næst verðum við að búa til breytu sem mun innihalda sérsniðna reiti okkar, þá sem nota á útgáfu síðu notanda og einnig á sjálfgefna síðu skráningarinnar. Við skulum geyma þessa reiti í breytu sem kallast $ extra_fields.

$ extra_fields = fylki (
fylki ('facebook', __ ('Facebook notandanafn', 'rc_cucm'), satt),
fylki ('kvak', __ ('Twitter notandanafn', 'rc_cucm'), satt),
fylki ('googleplus', __ ('Google+ ID', 'rc_cucm'), satt),
fylki ('linkedin', __ ('Linked In ID', 'rc_cucm'), ósatt),
fylki ('pinterest', __ ('Pinterest Notandanafn', 'rc_cucm'), ósatt),
fylki ('wordpress', __ ('Notendanafn WordPress.org', 'rc_cucm'), ósatt),
fylki ('sími', __ ('símanúmer', 'rc_cucm'), satt)
);

Við erum að geyma alla reiti innan fylkis sem eru með 3 breytur, sá fyrsti er auðkenni reitsins, sá annar er reitamerkið og sá síðasti er boolean upplýsingar sem skilgreina hvort svæðið sé sýnt á skráningarsíðunni eða ekki . Þú getur bætt við eins mörgum breytum og þú vilt, til dæmis staðsetningar eða nauðsynlegar upplýsingar.

Skref 3: Hakaðu réttu síuna

Við þurfum nú að krækja aðgerð við hægri síu. Í okkar sérstöku tilfelli er sían „user_contactmethods“ og nafn aðgerðarinnar sem við ætlum að búa til er „rc_add_user_contactmethods“.

// Notaðu user_contactmethods til að bæta við nýjum reitum
add_filter ('user_contactmethods', 'rc_add_user_contactmethods');

Skref 4: Búðu til sérsniðna reiti okkar

Við þurfum nú að búa til „rc_add_user_contactmethods“ aðgerðina. Það er sá sem bætir sérsniðnu reitunum okkar við notandasíðuna. Góðu fréttirnar eru þær að við geymdum reitina okkar innan fylkis, það þýðir að eftirfarandi aðgerð verður að fullu kraftmikil og það verður frekar auðvelt að bæta við nýjum reitum bara með því að breyta $ extra_fields breytunni.

/ **
* Bættu við sérsniðnum notendaháttum fyrir notendur
*
* @ aðgang almennings
* @since 1.0
* @ afturkalla
* /
fall rc_add_user_contactmethods ($ user_contactmethods) {

// Fá reiti
alþjóðlegt $ aukasvið;

// Birta hvern reit
foreach ($ extra_fields sem $ field) {
if (! isset ($ contactmethods [$ field [0]]))
$ user_contactmethods [$ field [0]] = $ field [1];
}

// Skilar snertiaðferðum
skila $ user_contactmethods;
}

Ef þú vistar viðbótina og virkjar viðbótina ættirðu að sjá sérsniðna reitina þína á notendaskránni. Þegar við notum réttan krók verðum við ekki að búa til „vista“ reitagögn. Svo, viðbótin virkar frábær í augnablikinu. En ég vil fara aðeins lengra og bæta við möguleikanum til að birta þá reiti á skráningarsíðunni. Gakktu úr skugga um að haka við stillingarnar „Hver ​​sem er getur skráð sig“ gátreitinn, annars gætirðu ekki séð „Register“ hlekkinn.

Skref 5: Skráningarsíðukrókar

Til að bæta við reitum okkar á skráningarsíðuna verðum við að fá aðgang að amk tveimur krókum og búa til tvær aðgerðir. Einn til að birta reitina og hinn til að vista reitagögnin í gagnagrunninum.

Við skulum krækja í aðgerðir okkar:

// Bættu reitum okkar við skráningarferlið
add_action ('register_form', 'rc_register_form_display_extra_fields');
add_action ('user_register', 'rc_user_register_save_extra_fields', 100);

Skref 6: Birta skráningu síðu fyrir sérsniðna reiti

Í kóðanum hér að ofan lýstum við yfir tveimur aðgerðum. Sú fyrsta er að sýna reitina á skráningarsíðunni. Í þessum hluta verðum við að sjá um þriðju færibreytuna fyrir hverja fylki í $ extra_fields. Þessi boolska breytu segir til um hvort sýna þurfi reitina eða ekki. True: reiturinn er sýndur, ósatt: reiturinn er ekki sýndur.

/ **
* Sýna sérsniðna reiti á skráningarsíðu
*
* Sýna sérsniðna reiti við skráningu ef þriðja breytu reitsins er stillt á satt
*
* @ aðgang almennings
* @since 1.0
* @ afturkalla
* /
fall rc_register_form_display_extra_fields () {

// Fá reiti
alþjóðlegt $ aukasvið;

// Sýna hvern reit ef 3. breytu stillt á „satt“
foreach ($ extra_fields sem $ field) {
if ($ reit [2] == satt) {
$ field_value = isset ($ _POST [$ field [0]])? $ _POST [$ field [0]]: '';
echo '

'; } // endif } // enda foreach }

Skref 7: Geymið reiti gildi við skráningarferlið

Nú þegar reitir okkar eru sýndir á skráningarsíðunni þurfum við að geyma gildi þeirra í gagnagrunninn. Þetta er markmiðið að „rc_user_register_save_extra_fields“ aðgerðinni. Til að gera það verðum við að nota „wp_update_user ()”Fall.

/ **
* Vista svæði gildi
*
* @ aðgang almennings
* @since 1.0
* @ afturkalla
* /
fall rc_user_register_save_extra_fields ($ user_id, $ password = '', $ meta = array ()) {

// Fá reiti
alþjóðlegt $ aukasvið;

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

// Vistaðu hvern reit
foreach ($ extra_fields sem $ field) {
if ($ reit [2] == satt) {
$ userdata [$ field [0]] = $ _POST [$ field [0]];
} // endif
} // enda foreach

$ new_user_id = wp_update_user ($ userdata);
}

Niðurstaða

Jæja, við sáum grunnatriðin um hvernig bæta ætti nýjum reitum við snertiaðferðir notandans, en það er allt. Þú getur til dæmis fjarlægt núverandi reiti eins og „Yahoo IM“, „AIM“ og „Jabber“ með því að gera einfalda stillingu (). En þú getur líka bætt við nokkrum aðgerðum til að hreinsa sérsniðna reiti þína til að kanna til dæmis hvort símanúmerið sé með viðeigandi sniði, hvort reitur sé nauðsynlegur eða ekki etc etc ... Ekki hika við að biðja um sérstaka eiginleika í athugasemdunum!

Ó, og síðast ... ef þú vilt birta gögnin á reitnum þínum skaltu einfaldlega nota þetta:

// Param 1 er notandakenni
// Param 2 er auðkenni svæðisins
// Param 3 er til staðar til að fá var eða fylki
echo get_user_meta (1, 'kvak', satt);  
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me

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