Ten post jest drugą częścią serii, nad którą pracuję, która mówi o WordPress Metadata Association, a pierwsza część dotyczy pracy nad procesem programowego tworzenia użytkowników WordPressa (ale minęło już pięć lat!).
Mówiłem o tym wcześniej, ale z czasem wszystko się zmienia, gdy zdobywamy więcej doświadczenia, prawda? Myślę, że przy pracy nad serią taką jak ta, warto mieć zestaw wymagań, które możemy spełnić, przynajmniej do symulacji, jak to jest, gdy tak się dzieje w prawdziwym projekcie.
W tym konkretnym poście przyjrzymy się następującym:
- Otrzymywanie informacji o użytkowniku w określonym formacie danych,
- określenie, jakie informacje są wymagane do utworzenia użytkownika,
- Tworzenie użytkownika,
- Upewnienie się, że nasz kod jest zgodny ze standardami kodowania i czytelnością.
Brzmi to dużo, chociaż nie mam zamiaru robić z tego długiego postu. To powiedziawszy, jeśli jest to coś, co chcesz nauczyć się przemyśleć lub jak sobie z tym poradzić, to zaczynamy.
Tworzenie użytkowników WordPress
Załóżmy, że ktoś – być może klient, a może nawet Ty – jako informacja, która zostanie wykorzystana do stworzenia użytkownika. Potrzebuje co najmniej następujących informacji:
- nazwa użytkownika,
- hasło,
- adres e-mail.
Jeśli chodzi o tworzenie nazwy użytkownika, wolę używać adresu e-mail jako nazwy użytkownika, ponieważ jest to coś, co z pewnością będzie unikalne dla prawie każdego, kto korzysta z konta.
Więc w tym samouczku właśnie tego użyję. Jeśli chodzi o hasło, omówię za chwilę generowanie hasła.
Na koniec możesz założyć, że dane, które posiadasz, mają dowolną formę: być może są w formacie JSON, być może w pliku CSV, może w formacie XML. Niezależnie od przypadku, do Ciebie należy przetworzenie tych informacji do PHP, abyś mógł łatwo z nimi pracować.
Aby uprościć ten post, zakładam, że mamy pojedynczy rekord i będziemy mieć dostęp do informacji w postaci tablicy. Nie oznacza to, że zaczyna się w tablicy, ale oznacza to, że ostatecznie umieszczamy go w tablicy.
1 Informacje o użytkowniku
Załóżmy, że mamy osobę o imieniu „Meghan", którą zamierzamy dodać do systemu. Mamy adres e-mail i to wszystko.
Przykładowa persona (oczywiście renderowanie artysty 🙂
Ale to dobrze. To szkielet tego, czego potrzebujemy. Weźmy więc te informacje :
<?php
$user_info = array(
'email' => 'meghan@emaildomain.com',
'first_name' => 'Meghan',
'last_name' => 'McFarlin',
);
I przekształć to w coś, czego możemy użyć do utworzenia konta.
2 Tworzenie konta
Pierwszą rzeczą, którą musimy zrobić, to upewnić się, że użytkownik nie istnieje już dla tego adresu e-mail. Jeśli tak, po prostu wrócimy. Możesz wyświetlić komunikat o ustawieniach lub inny rodzaj informacji, aby poinformować użytkownika końcowego, że nie tworzysz tego konta, ponieważ już istnieje.
Ale to wykracza poza zakres tego postu.
Zamiast tego wrócimy :
<?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;
}
Załóżmy jednak, że użytkownik nie istnieje. Jeśli tego nie zrobi – a nie powinna (inaczej, nie ma sensu tego posta) – to utworzymy dla niej konto.
Aby to zrobić, potrzebujemy jej adresu e-mail i hasła. Na szczęście wygenerowanie hasła jest proste:
<?php
$password = wp_generate_password( 16, false );
Więc teraz możemy wziąć adres e-mail i hasło i utworzyć konto użytkownika.
<?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' );
Zauważ, że w powyższym kodzie również ustawiamy rolę. Sposobem na zrobienie tego jest najpierw pobranie instancji WP_User, a następnie za pomocą naszego $user_id, a następnie ustawienie roli.
Zdecydowałem się użyć autora, ale jest zestaw innych, z których możesz wybrać (lub użyć tego, co jest w twojej strukturze danych).
3 Czy nie ma czegoś więcej?
I dzięki temu Twój użytkownik powinien zostać stworzony. Część tego w dużej mierze zależy od używanego haka, sposobu, w jaki zaimplementowałeś to w swoim procesie i sposobu, w jaki zezwalasz administratorowi na tworzenie kont.
Jest to bardziej zaawansowany temat, który ostatecznie chciałbym omówić w przyszłym poście. Aby ta seria była jak najbardziej bezpośrednia i szczupła, staram się być jak najbardziej skoncentrowany na wymaganych podstawowych krokach.
Wszystko inne można wdrożyć lub ubrać wokół tego, co jest potrzebne, zgodnie z wymaganiami projektu.
To tylko tworzenie konta
Jest to jednak tylko przetwarzanie programowego tworzenia użytkowników WordPress. W rzeczywistości jest to tylko utworzenie jednego użytkownika.
Aby utworzyć wielu użytkowników, załóżmy, że masz wiele tablic z informacjami, przez które możesz iterować, a następnie tworzyć użytkowników. Implementacja jest taka sama, choć różni się w zależności od konta.
Powiedziawszy to, jutro zajmę się programistycznym tworzeniem treści postów. A potem porozmawiamy o powiązaniu danego użytkownika z daną treścią posta i o tym, co możemy z tym zrobić (oraz o tym, dlaczego miałoby to w ogóle znaczenie).
Posty z serii
- Stowarzyszenie metadanych WordPress: jak to zrobić
- Programowe tworzenie użytkowników WordPress
- Typy postów WordPress: abstrakcja dla podmiotów
- Stowarzyszenie metadanych WordPress: powiązane podmioty
