✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Програмне створення користувачів WordPress

16

Ця публікація є другою частиною серії, над якою я працюю, і розповідає про асоціацію метаданих WordPress, а перша частина включає в себе роботу над процесом програмного створення користувачів WordPress (але минуло п’ять років!).

Я вже говорив про це раніше, але все змінюється з часом, коли ми набуваємо більше досвіду, чи не так? І в роботі над серією, подібною до цієї, я вважаю, що допомагає мати набір вимог, яких ми можемо дотримуватися, принаймні, щоб симулювати, як це могло б статися в реальному проекті.

Тож у цій конкретній публікації ми розглянемо наступне:

  1. Отримання інформації про користувача в певному форматі даних,
  2. Визначення того, яка інформація потрібна для створення користувача,
  3. Створення користувача,
  4. Переконайтеся, що наш код відповідає стандартам кодування та читабельності.

Це звучить як багато, хоча я не маю наміру робити це довгим дописом. Тим не менш, якщо це те, що ви хочете навчитися думати або як вирішувати, тоді ми починаємо.

Створення користувачів WordPress

Припустімо, що хтось – можливо, клієнт або, можливо, навіть ви самі – як інформація, яка буде використана для створення користувача. Для цього потрібна принаймні така інформація:

  1. ім’я користувача,
  2. пароль,
  3. адреса електронної пошти.

Коли справа доходить до створення імені користувача, я також віддаю перевагу використанню адреси електронної пошти як імені користувача, оскільки це те, що гарантовано буде унікальним майже для кожного, хто користується обліковим записом.

Отже, для цього підручника я збираюся використовувати саме це. Що стосується пароля, то я зараз поговорю про генерацію пароля.

Нарешті, ви можете припустити, що ваші дані надходять у будь-якій формі: можливо, у форматі JSON, можливо, у форматі CSV, можливо, у форматі XML. У будь-якому випадку, ви повинні розібрати цю інформацію в PHP, щоб ви могли легко працювати з інформацією.

Щоб спростити цю публікацію, я буду припускати, що у нас є один запис, і ми матимемо інформацію, доступну в масиві. Це не означає, що він починається з масиву, але це означає, що ми зрештою поміщаємо його в масив.

1 Інформація про користувача

Припустімо, що ми маємо людину на ім’я «Меган», яку ми збираємося додати до системи. У нас є адреса електронної пошти, і це все.

Приклад персонажа (художня рендеринга, звичайно 🙂

Але це нормально. Це основа того, що нам потрібно. Отже, давайте візьмемо цю інформацію :

<?php

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

І перетворити це на те, що ми можемо використовувати для створення облікового запису.

2 Створення облікового запису

Перше, що нам потрібно зробити, це переконатися, що для цієї електронної адреси ще не існує користувача. Якщо так, то ми просто повернемося. Ви можете відобразити повідомлення про налаштування або інший тип інформації, щоб повідомити кінцевому користувачеві, що ви не створюєте цей обліковий запис, оскільки він уже існує.

Але це виходить за рамки цієї публікації.

Натомість ми повернемося :

<?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;
}

Знову ж таки, давайте припустимо, що користувача не існує. Якщо вона цього не зробить – чого вона не повинна (інакше немає причин для цієї публікації 😏) – тоді ми створимо для неї обліковий запис.

Для цього нам потрібна її електронна адреса та пароль. На щастя, створити пароль просто:

<?php

$password = wp_generate_password( 16, false );

Тепер ми можемо взяти адресу електронної пошти та пароль і створити обліковий запис користувача.

<?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' );

Зауважте, що в коді вище ми також встановлюємо роль. Спосіб зробити це — спочатку отримати екземпляр WP_User, а потім за допомогою $user_id встановити роль.

Програмне створення користувачів WordPress

Я вирішив використовувати автор, але є набір інших, з яких ви можете вибрати (або використати все, що є у вашій структурі даних).

3 Хіба це не більше?

І з цим має бути створений ваш користувач. Частково це значною мірою залежить від того, який хук ви використали, як ви реалізували це у своєму процесі та способу, у який ви дозволяєте адміністратору створювати облікові записи.

Це більш складна тема, яку я хотів би розглянути в наступній публікації. Щоб зберегти цю серію якомога точнішою та точнішою, я намагаюся зосередитися на основних необхідних кроках.

Усе інше можна втілити або втілити у все, що потрібно відповідно до вимог проекту.

Це просто створення облікового запису

Однак це лише обробка програмного створення користувачів WordPress. Фактично, це лише створення одного користувача.

Щоб створити кількох користувачів, припустімо, що у вас є кілька масивів з інформацією, через яку ви можете перебирати, а потім створювати користувачів. Реалізація однакова, хоча вона буде відрізнятися від кожного облікового запису.

Зважаючи на це, завтра я розберуся про програмне створення вмісту публікації програмним шляхом. А після цього ми поговоримо про зв’язок даного користувача з даним вмістом публікації та про те, що ми можемо з цим зробити (а також про те, чому це взагалі має значення).

Повідомлення серії

  1. Асоціація метаданих WordPress: як це зробити
  2. Програмне створення користувачів WordPress
  3. Типи публікацій WordPress: абстракція для сутностей
  4. Асоціація метаданих WordPress: пов’язані сутності

Джерело запису: tommcfarlin.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі