Często w czasie testowanie serwisu klienta pojawia się potrzeba utworzenia kopi serwisu na mojej lokalnej maszynie. Zazwyczaj używam do tego wtyczki Duplicator, która pozwala na szybkie i wygodne skopiowanie zarówno plików, jak i bazy danych. Często klient tworzy dla mnie konto, czasami nie.
Poniższy kod zmienia użytkownikowi „admin” lub zakłada użytkownika „admin” z hasłem „admin”.
require 'wp-load.php'; $admin = get_user_by( 'login', 'admin' ); if ( !empty( $admin ) ) { wp_set_password( 'admin', $admin->ID ); echo 'New password "admin" for user "admin" was set.'; return; } $admin_id = wp_create_user( 'admin', 'admin', sprintf( 'admin-%d@example.com', rand() ) ); $admin = new WP_User( $admin_id ); $admin->add_role( 'administrator' ); echo 'New user "admin" with password "admin" was created.'; |
Jak tego użyć?
Skopiuj kod do pliku w głównym katalogu WordPressa i uruchom go z przeglądarki. Pamiętaj, żeby go skasować po tym jak już dodasz admina.
Nigdy nie używaj tego na produkcji.
[zip href="http://iworks.pl/wp-content/uploads/2016/02/iworks-set-admin.zip"]iworks-set-admin.zip[/zip]
Sebastian Pisula
A to ja mam lepszy patent! :-D
<?php
include 'wp-load.php';
wp_set_auth_cookie(1);
wp_redirect(admin_url());
Marcin Pietrzak
O ile istnieje użytkownik o identyfikatorze 1. Oczywiście, jeżeli to użytkownik o uprawnieniach innych niż administrator, to nadal taki będzie.
Sebastian Pisula
a to się zgadzam – jednak z doświadczenia mojego skromnego nie zdarzyło się jeszcze, żeby użytkownik o ID 1 nie istniał i miał inną rolę niż administrator :D
Marcin Pietrzak
To mamy inne doświadczenia. ID != 1 trafia mi się 1 na 20 witryn. Częściej jest pozbawiony uprawnień administratora. Widocznie anglojęzyczna część internetu jest już bardziej wyedukowana.
Sebastian Pisula
Hmm, zatem muszę wprowadzić poprawkę do swojego skryptu :)
'Administrator’, 'number’ => 1, 'fields’ => 'ID’ ) );
$results = $wp_user_query->get_results();
if ( isset( $results[0] ) ) {
wp_set_auth_cookie( $results[0] );
wp_redirect( admin_url() );
die();
}
echo 'Coś poszło nie tak’;
Pozdrawiam! :)
Janunsz Kamiński
No teraz, będę robił admina numer n :)