✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

WordPress-käyttäjien luominen ohjelmallisesti

18

Tämä viesti on toinen osa käsittelemässäni sarjassa, jossa puhutaan WordPress Metadata Associationista, ja ensimmäinen osa sisältää WordPress-käyttäjien ohjelmallisen luomisen (mutta siitä on jo viisi vuotta!).

Olen puhunut tämän tekemisestä aiemmin, mutta asiat muuttuvat ajan myötä, kun saamme lisää kokemusta, eikö niin? Ja työskennellessäni tämänkaltaisen sarjan läpi, mielestäni on hyödyllistä, että meillä on joukko vaatimuksia, joita voimme noudattaa, ainakin simuloidaksemme, millaista tämä voisi tapahtua todellisessa projektissa.

Joten tässä nimenomaisessa viestissä tarkastelemme seuraavaa:

  1. vastaanottaa käyttäjätietoja tietyssä tietomuodossa,
  2. tunnistaa, mitä tietoja tarvitaan käyttäjän luomiseen,
  3. Käyttäjän luominen,
  4. Varmistamme, että koodimme vastaa koodausstandardeja ja luettavuutta.

Kuulostaa paljon, vaikka minulla ei ole aikomustakaan tehdä tästä pitkää postausta. Jos tämä on jotain, jonka haluat oppia ajattelemaan tai käsittelemään sitä, niin tässä mennään.

WordPress-käyttäjien luominen

Oletetaan, että joku – ehkä asiakas tai ehkä jopa vain sinä – tietona, jota käytetään käyttäjän luomiseen. Se vaatii ainakin seuraavat tiedot:

  1. käyttäjätunnus,
  2. salasana,
  3. sähköpostiosoite.

Mitä tulee käyttäjätunnuksen luomiseen, suosittelen myös sähköpostiosoitteen käyttöä käyttäjätunnuksena, koska se on taatusti ainutlaatuinen melkein kaikille tilin käyttäjille.

Joten tässä opetusohjelmassa aion käyttää juuri sitä. Mitä tulee salasanaan, puhun salasanan luomisesta hetkellisesti.

Lopuksi voit olettaa, että tietosi tulee missä tahansa muodossa: ehkä se on JSON-muodossa, ehkä CSV-muodossa, ehkä se on XML-muodossa. Joka tapauksessa on sinun tehtäväsi jäsentää nämä tiedot PHP:hen, jotta voit helposti käsitellä tietoja.

Jotta asiat olisivat yksinkertaisia ​​tässä viestissä, oletan, että meillä on yksi tietue ja meillä on tiedot saatavilla taulukossa. Tämä ei tarkoita, että se alkaa taulukossa, mutta se tarkoittaa, että sijoitamme sen lopulta taulukkoon.

1 Käyttäjän tiedot

Oletetaan, että meillä on henkilö nimeltä "Meghan", jonka aiomme lisätä järjestelmään. Meillä on sähköpostiosoite, ja siinä kaikki.

Esimerkkipersoona (taiteilijan esitys tietysti 🙂

Mutta ei se mitään. Se on meidän tarvitsemamme runko. Otetaan siis nämä tiedot :

<?php

$user_info = array(
  'email'      => 'meghan@emaildomain.com',
  'first_name' => 'Meghan',
  'last_name'  => 'McFarlin',
);

Ja tee siitä jotain, jota voimme käyttää tilin luomiseen.

2 Tilin luominen

Ensimmäinen asia, joka meidän on tehtävä, on varmistaa, ettei tälle sähköpostiosoitteelle ole jo olemassa käyttäjää. Jos on, palaamme takaisin. Saatat haluta näyttää asetusviestin tai muun tyyppisen tiedon ilmoittaaksesi loppukäyttäjälle, että et luo tätä tiliä, koska se on jo olemassa.

Mutta se ei kuulu tämän postauksen piiriin.

Sen sijaan palaamme :

<?php

// Read the email address - if it's - invalid or the user exists, then return.
$email = $user_info['email'];
if (! filter_var( $email, FILTER_VALIDATE_EMAIL) || username_exists( $email)) {
  return;
}

Oletetaan sitten, että käyttäjää ei ole olemassa. Jos hän ei tee – mitä hänen ei pitäisi (muuten ei ole syytä tälle postaukselle 😏) – niin sitten luomme hänelle tilin.

Tätä varten tarvitsemme hänen sähköpostiosoitteensa ja salasanansa. Onneksi salasanan luominen on helppoa:

<?php

$password = wp_generate_password( 16, false );

Joten nyt voimme ottaa sähköpostiosoitteen ja salasanan ja luoda käyttäjätilin.

<?php

// Grab the email and create a password.
$email    = $user_info['email'];
$password = wp_generate_password( 12, false );

// Create the user and set her role.
$user_id = wp_create_user( $email, $password, $email );

// Set the user's role (and remove the previous role).
$user = new WP_User( $user_id );
$user->set_role( 'author' );

Huomaa yllä olevassa koodissa, että asetamme myös roolin. Tapa tehdä tämä on ensin tarttua WP_User -esiintymään ja sitten $user_id:llä ja määrittää sitten rooli.

WordPress-käyttäjien luominen ohjelmallisesti

Päätän käyttää tekijää, mutta on joukko muita, joista voit valita (tai käyttää mitä tahansa tietorakenteessa).

3 Eikö siinä ole muutakin?

Ja sen avulla käyttäjäsi pitäisi luoda. Osa tästä riippuu pitkälti käyttämästäsi koukusta, siitä, kuinka olet ottanut tämän käyttöön prosessissasi ja tavasta, jolla annat järjestelmänvalvojan luoda tilejä.

Tämä on edistyneempi aihe, jonka haluaisin lopulta käsitellä seuraavassa postauksessa. Pitääkseni tämän sarjan mahdollisimman suorana ja laihaa, yritän pysyä mahdollisimman keskittyneenä vaadittaviin ydinvaiheisiin.

Kaikki muu voidaan toteuttaa tai pukea sen ympärille, mitä muuta tarvitaan projektin vaatimusten mukaisesti.

Se on vain tilin luomista

Tämä on kuitenkin vain WordPress-käyttäjien ohjelmallisen luomisen käsittelyä. Itse asiassa tämä on vain yhden käyttäjän luominen.

Jos haluat luoda useita käyttäjiä, oleta, että sinulla on useita tietotaulukoita, joiden kautta voit toistaa ja luoda käyttäjät. Käyttöönotto on sama, vaikka se vaihtelee tilikohtaisesti.

Tämän jälkeen aion huomenna luoda ohjelmallisesti viestisisältöä ohjelmallisesti. Ja sen jälkeen puhumme tietyn käyttäjän liittämisestä annettuun viestisisältöön ja siitä, mitä voimme tehdä sillä (sekä miksi tällä olisi merkitystä).

Sarjan postaukset

  1. WordPress Metadata Association: Kuinka tehdä se
  2. WordPress-käyttäjien luominen ohjelmallisesti
  3. WordPress-viestityypit: abstraktio entiteeteille
  4. WordPress-metadatayhdistys: liittyvät entiteetit

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja