Pár řádků kódu, které vám můžou zachránit den, třeba když klient nemá přístupy do administrace svého webu.
Vytvoření nového WordPress uživatele pomocí kódu
<?php
/**
* Vytvoření nového uživatele pomocí kódu
* https://developer.wordpress.org/reference/functions/wp_insert_user/
*/
if(!get_user_by('email', 'vas@email.cz')){ // nejdříve se ověří, jestli uživatel se stejným e-mailem už neexistuje
$user_id = wp_insert_user( [
'user_login' => '', // přihlašovací jméno bez mezer a zvláštních znaků
'user_pass' => '', // heslo
'user_email' => 'vas@email.cz', // email
'first_name' => '', // Křestní jméno
'last_name' => '', // Příjmení
'display_name' => '', // Zobrazované jméno
'role' => 'administrator' // Uživatelská role, další možnosti: editor, author, subscriber, vaše custom role, ...
]);
}
Vytvoření nového uživatele pro WooCommerce
if(!get_user_by('email', 'vas@email.cz')){ // nejdříve se ověří, jestli uživatel se stejným e-mailem už neexistuje
$user_id = wp_insert_user( [
'user_login' => 'vaslogin', // přihlašovací jméno bez mezer a zvláštních znaků
'user_pass' => '', // heslo
'user_email' => 'vas@email.cz', // email
'first_name' => '', // Křestní jméno
'last_name' => '', // Příjmení
'display_name' => '', // Zobrazované jméno
'role' => 'administrator' // Uživatelská role, další možnosti: editor, author, subscriber, vaše custom role, ...
]);
if (!is_wp_error($user_id)) {
// Vytvoření fakturačních údajů pro WooCommerce
$billing_details = [
'first_name' => 'Groucho',
'last_name' => 'Marx',
'company' => 'Marx Bros.',
'address_1' => 'Joke street 21',
'address_2' => '',
'city' => 'Brno',
'state' => '',
'postcode' => '60200',
'country' => 'CZ',
'phone' => '+420555111222',
];
// Aktualizace fakturačních a doručovacích údajů pro uživatele
foreach ($billing_details as $meta_key => $meta_value) {
update_user_meta($user_id, 'billing_' . $meta_key, $meta_value);
update_user_meta($user_id, 'shipping_' . $meta_key, $meta_value);
}
}
}
Úprava existujícího WordPress uživatele pomocí kódu
<?php
/**
* Úprava uživatele pomocí kódu
* V ukázce jsou nastavené argumenty pro nastavení nového hesla,
* ale je možné použít jakýkoliv z parametrů, které jsou uvedené
* v ukázce s funkcí wp_insert_user() výše.
* https://developer.wordpress.org/reference/functions/wp_update_user/
*/
$user_id = wp_update_user( [ 'ID' => 1, 'user_pass' => 'noveHeslo' ] );
if ( is_wp_error( $user_id ) ) {
echo "Objevila se chyba, uživatel možná neexistuje.";
} else {
$user_name = get_user_by( 'id', $user_id )->display_name;
echo "Uživatel $user_name, byl aktualizován.";
}