PHP’de Otomatik WordPress Yönetici Girişi

Bugünkü yayın, WordPress sitenize nasıl düzgün küçük bir özellik yükleyeceğinizi göstereceğim kısa bir mesaj olacak. Bu, güvenle kullanılırsa, çok uygun olabilir. Bu, kullanıcıların giriş yapması için genel bir hesap sunan WordPress sitelerinde kullanılmak üzere tasarlanmıştır. Örneğin, birçok arka uç WordPress demolarında yazar, potansiyel müşterilerin giriş yapması ve ürünüyle oynaması için bir “demo” hesabı oluşturacaktır. Daha sık olmamakla birlikte, yazar sadece bir bildiri görüntüler;


KULLANICI ADI: gösteri
PAROLA: gösteri

Bu biraz yaya. Elbette demonun biraz daha akıcı ve profesyonel görünmesini sağlayabiliriz? Bu kimlik bilgileriyle WordPress yöneticisine otomatik olarak giriş yapmanız için hızlı bir snippet vereceğim. Bu, temanızın işlevler dosyasına bırakılabilir veya kendi eklenti dosyasına yerleştirilip etkinleştirilebilir.

Bu;

  • Sitenizde anonim kullanıcıların giriş yapması için genel bir hesap var.
  • “Tek bir tıklama” giriş bağlantısı mı istiyorsunuz?.
  • Demoya hızlı ve etkili bir yol sağlayarak, gerekli adımları en aza indirerek ürün demo dönüşümünü en üst düzeye çıkarmak istiyorsunuz.
  • Ziyaretçileri doğrudan ilgili konuma yönlendirmek istiyorsunuz (örn. Ayarlar sayfası).

ÖNEMLİ: Bunu asla gerçek güce sahip hesaplara giriş yapmak için kullanmayın; Örneğin. Yönetici / Editör hesapları vb..
Bu snippet’i dikkatli kullanın.

Tamam, diğer derslerimde yaptığım gibi, size okuma hayranı olmayanlarınız doğrudan denemeye başlayabilmeniz için önce size tam, açıklamalı kodu vereceğim. Aşağıdaki snippet, bağımsız bir eklenti şeklinde biçimlendirildi (kişisel tercihim).

Github'da Harri Bell-Thomas

/ *
Eklenti Adı: Otomatik Giriş
Eklenti URI'si: http://hbt.io/
Sürüm: 1.0.0
Eser Sahibi: Harri Bell-Thomas
Yazar URI'si: http://hbt.io/
* /

function autologin () {
// KONTROL EDİLECEK PARAMETRE
if ($ _GET ['autologin'] == 'demo') {

// GİRİŞ YAPMAK İÇİN HESAP KULLANICI ADI
$ creds ['user_login'] = 'demo';

// KULLANILACAK HESAP ŞİFRESİ
$ creds ['user_password'] = 'demo';

$ creds ['unutmayın'] = true;
$ autologin_user = wp_signon ($ creds, yanlış);

eğer (! is_wp_error ($ autologin_user))
başlık ('Konum: wp-admin'); // YÖNLENDİRİLECEK YER
}
}
// BAŞLIKLAR VE ÇEREZLER GÖNDERİLMEDEN ÖNCE KOD EKLE
add_action ('after_setup_theme', 'otomatik giriş');

KULLANIM

Bu kullanımı çok basit. Hesap kullanıcı adı ve şifresi eklenti dosyasında (yukarıdaki kod) belirtilmiştir ve giriş yapmak için ziyaret etmeniz yeterlidir; http://example.com/wp-login.php?autologin=demo

Hemen belirtilen hesaba giriş yapmış olduğunuz wp-admin’e yönlendirilmelisiniz. Kimlik bilgileri yanlışsa, giriş formunu normal şekilde görmeniz gerekir.

ÖZELLEŞTİRMEK

Bu pasajı özelleştirmek çok kolaydır. Düzenlemeniz gereken sadece 3 şey vardır ve tüm bu değişiklikler aşağıdaki kod bloğunda yapılacaktır (tam kodun 11 ila 17 satırları)

if ($ _GET ['login'] == 'dummy_account') {

// GİRİŞ YAPMAK İÇİN HESAP KULLANICI ADI
$ creds ['user_login'] = 'kukla';

// KULLANILACAK HESAP ŞİFRESİ
$ creds ['user_password'] = 'pa55word';

İlk satırda URL parametresi için koşullu denetimi göreceksiniz. Yukarıdaki kod bloğu kontrol edilecek; wp-login.php? giriş = dummy_account

Bu değerler istediğiniz gibi olabilir, ancak “çıkış”, “işlem” ve “yönlendirme_to” gibi orijinal WordPress parametrelerinden kaçınmaya dikkat edin. Satır 4, oturum açılacak kullanıcı adını belirttiğiniz yerdir; özelleştirilmiş kod snippet’i “sahte” hesaba giriş yapmaya çalışır. Tahmin edebileceğiniz gibi, 7. satır şifreyi belirttiğiniz yerdir. Yukarıdaki şifre “pa55word” dür. Bu değerleri doldurun ve gitmek için iyi olmalısınız!

EXTENSIONS

Şu anda snippet’imiz yalnızca bir hesaba otomatik giriş yapmak için ayarlanmış. Farklı hesaplar için farklı giriş bağlantıları istiyorsak ne olur? Bu oldukça hızlı ve kolaydır ve tüm snippet’i tekrar tekrar yapmanızı gerektirmez. Çözümüme aşağıda bir göz atın.

/ *
Eklenti Adı: Otomatik Giriş
Eklenti URI'si: http://hbt.io/
Açıklama: Genel hesaplara hızlı bir şekilde giriş yapmak için uygun otomatik giriş bağlantıları oluşturun. Kaynak kodunu değişiklik yapmak için yapılandırın.
Sürüm: 1.0.0
Eser Sahibi: Harri Bell-Thomas
Yazar URI'si: http://hbt.io/
* /

// Global varların beyan edilmesi
global $ login_parameter, $ hesaplar;

// KONTROL EDİLECEK PARAMETRE
// Örneğin. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "otomatik giriş";

// HESAP KODU BLOK
$ accounts [] = dizi (
"kullanıcı" => "demo",
"pass" => "demo",
"konum" => "wp-admin",
);
// SON HESAP KODU BLOKU

// GERÇEKTEN ÇOK HESAP İÇİN KOD BLİSİNİ DÜZENLEYİN VE TEKRAR EDİN

// Başka bir örnek yineleme
$ accounts [] = dizi (
"kullanıcı" => "tcwp",
"pass" => "demo",
"konum" => "wp-admin /? tcwp-sent-me",
);


// BU FONKSİYON HAKKINDA DETAYLAR İÇİN ÖNCEKİ ÖRNEKLERE BAKIN
function autologin () {
global $ login_parameter, $ hesaplar;
foreach ($ hesapları $ hesabı olarak) {
if ($ _GET [$ login_parameter] == $ hesap ['kullanıcı']) {
$ creds ['user_login'] = $ hesap ['kullanıcı'];
$ creds ['user_password'] = $ hesap ['pass'];
$ creds ['unutmayın'] = true;
$ autologin_user = wp_signon ($ creds, false);
eğer (! is_wp_error ($ autologin_user))
başlık ('Konum:'. $ hesap ['konum']);
}
}
}
add_action ('after_setup_theme', 'otomatik giriş');

Özünde bu aslında aynıdır, ancak arsız bir foreach döngüsü artı hesap dizisi de atılır. Autologin () işlevinin anatomisi, her hesap için kodunun tekrarlanması (foreach döngüsü kullanılarak) aynıdır. İlgili tüm ayrıntılar artık global dizide saklanmaktadır. Yukarıdaki örnek 2 hesap için ayarlanmıştır, ancak snippet’imiz ihtiyaç duyduğumuz kadarını barındırabilir. Ek hesaplar eklemek için aşağıdaki kod bloklarını istediğiniz kadar özelleştirip ekleyin.

// HESAP KODU BLOK
$ accounts [] = dizi (
"user" => "anotheraccount",
"pass" => "public_password",
"konum" => "http://YouCanPutURLsHereToo.com/",
);
// SON HESAP KODU BLOKU

Ayrıca parametre adını genel bir değişkene de taşıdığımı fark edeceksiniz: bu gerekli değildir, ancak bunu sadece autologin () işlevinden tüm sabit kodlanmış değerleri kaldırmak için yaptım.

SONUÇ

Bu snippet, yalnızca bir ürün tanıtım sitesinde olduğu gibi hafif kullanım için tasarlanmış basit bir işlevdir, ancak çok daha karmaşık giriş senaryolarında kullanılabilme potansiyeline sahiptir. Kodun geri kalanı oldukça açıklayıcı olmalıdır, ancak ne yaptığım veya neden yaptığım hakkında herhangi bir sorunuz varsa, aşağıya bir yorum bırakın veya tweet atın. Herhangi bir geri bildirim / öneriniz / fikriniz varsa, aşağıdaki yorum bölümüne bir yorum bırakın!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map