Wordpress

WordPress FTP (functions.php) Üzerinden Kullanıcı/Yönetici Oluşturma

Güncelleme:
Wordpress kullanıcı bilgilerindeki uyuşmazlık ya da olası başka bir sebeple kullanıcı girişi yapamadığınız ya da yeni kullanıcı oluşturmak istediğiniz durumlarda kullanabileceğiniz yöntemlerden biri de functions.php dosyasını kullanarak belirli adımları takip etmek olacaktır.
GÖRSEL
Bu yazıyı yayına hazırladığım esnada WordPress 4.8 48,461,857 kez indirilmiş durumdaydı. Son yapılan araştırmalara göre (W3Techs: Usage of content management systems for websites) pazar payı %28.8 civarında. Müthiş bir rakam, değil mi? Neredeyse herkesin üzerine fikir sahibi olduğu, web ile ilgili bir fikrin hayata geçirilmesinde kimi zaman destekçisi olarak konumlanan, kimi zaman ise fikrin merkezinde yer alan bir yapı sunmasının da ötesinde bir çok geliştirici ve tasarımcı için de bir kazanç alanı. Günlük süreç içerisinde sıklıkla karşılaştığım problemlerden birinden bahsedeceğim; kullanıcı şifresini unutmak/bilmemek.

WordPress Kullanıcı/Yönetici Oluşturma

Evet oldukça basit ve kimi zaman da komik karşılanabilecek bir durum. Ancak, bir kişi ya da ajansın müşterisi için gerçekleştirdiği kurulumlarda çoğunlukla içerikler de kurulumu yapan kişi tarafından giriliyor. Bu tür durumlarda süreci hızlı yürütmek adına müşteri hesapları yerine kullanılan hesaplar ve kurulum sonrasında geçen süreyle birlikte iletişimlerde aksamalar ve kesilmeler söz konusu olabiliyor. İşte bu noktada e-posta hesabına erişemediğiniz ya da müşteriden beklediğiniz desteği alamadığınızda ne yapacaksınız? Elinizde sadece değerlendirebileceğiniz ftp opsiyonu söz konusu (wp-cli üzerinden yapılabilecek işlemlerle ilgili ayrıca bir yazı yayınlayacağım). Bu durumda wp-config.php içerisinden mysql bilgilerini okuyabilir ve erişim sağlayabilirsiniz. Bana göre mysql erişimi ve tekrar md5 şifre üretmekten çok daha pratik bir çözüm. phpMyAdmin erişimi veya doğrudan MySQL sorguları gerçekleştirememe ihtimalleri de söz konusu elbette. Bu şansız sürece dair alternatif bir çözümden bahsetmek istiyorum.function.php üzerinden şifre, e-posta ve kullanıcı adı tanımlayarak admin hesabı oluşturmakEvet, yapmanız gereken aktif tema içeriğinde yer alan functions.php dökümanını açmak ve aşağıdaki create_admin_account fonksiyonunu ekleyip sayfayı kaydetmek.
function create_admin_account(){
$user = 'kullaniciadi';
$pass = 'sifre';
$email = 'email@domain.com';
  if ( !username_exists( $user )  && !email_exists( $email ) ) {
    $user_id = wp_create_user( $user, $pass, $email );
    $user = new WP_User( $user_id );
    $user->set_role( 'administrator' );
  } else {
    echo 'Kullanıcı tanımlı! Bilgileri değiştirerek tekrar deneyiniz.';
  }
}
add_action('init','create_admin_account');
Fonksiyon belirttiğiniz kullanıcı adı (user_login) ve şifre (user_pass) ile wp_users tablosunda bir admin satırı eklemekte. Doğrudan e-posta hesabını (user_email) da eklediğiniz fonksiyonda isterseniz farklı düzenlemeler de yapmanız mümkün. Örneğin şifre alanı için şu satırı kullanabiliriz:
wp_generate_password( $length=12, $include_standard_special_chars=false );
İşlem sonunda muhtemel olarak bazı geri bildirimler alabilirsiniz:
  • empty_user_login, kullanıcı adı tanımlanmamış
  • existing_user_login, kayıtlı olan kullanıcı
  • existing_user_email, kayıtlı olan bir e-posta adresi
Diğer yandan wp_insert_user ile de kullanıcı tanımlayabilir, wp_update_user ile şifre belirleme de dahil bilgi güncelleme işlemleri gerçekleştirebilirsiniz.function.php çalıştığında doğrudan hesap veritabanında ilgili satıra eklenecektir. Ardından belirttiğiniz bilgileri kullanarak wp-admin erişimi sağlayabilirsiniz.
Ceyhun Enki Aksan

Kullanıcı Davranışları Analizi (User Behavior Analysis) ve Kullanıcı Deneyim Tasarımı (UX Design) üzerine çalışmalar yürütmekte, bu süreçte edindiğim teknik ve pratik bilgileri fayda sağlamak motivasyonuyla (afaik / as far as i know) paylaşmaktayım.

HABERDAR OL

Yeni eklenen projeler, eğitimler, içerikler ve yayınlanan videolar e-posta adresine gelsin.