في هذه التدوينة سأتطرق لموضع مهم جدا وهو كيفية إضافة عضو ووردبريس جديد برمجيا، أي دون الدخول إلى لوحة التحكم.
ربما تكون قد فقدت كلمة المرور، أو أن أحدهم قام باختراق موقعك والسيطرة عليه لكن لازال بإمكانك الدخول للموقع عبر ftp أو cPanel، أو أن أحد عملائك أعطاك بيانات الاستضافة لكن نسي إعطائك اسم المستخدم وكلمة مرور لوحة تحكم ووردبريس… المهم أنك تريد الدخول إلى لوحة تحكم ووردبريس لكن لا تستطيع، الحل الوحيد في هذه الحالة هو إضافة عضو جديد بدور مدير.
هناك طريقتين للقيام بهذا العمل، اﻷولى عن طريق الدخول لل phpMyAdmin وملأ البيانات يدويا في جدول wp_users، والثانية هي عن طريق الكود.
أنا أفضل الطريقة الثانية ﻷنها هي اﻷفضل واﻷسرع.
الوظيفة التي سنستعملها هنا هي ()wp_create_user
، هذه الوظيفة تقبل ثلاث معاملات (parameters) اﻷول هو اسم المستخدم (إجباري)، الثاني كلمة المرور (إجباري) والثالث البريد الإلكتروني (اختياري)، على هذا الشكل: wp_create_user( $username, $password, $email )
بكل بساطة الشفرة التي سنستخدمها ﻹنشاء حساب برتبة مدير برمجيا سيكون كالآتي:
/**
* Add a new WordPress user.
*
* @return void
*/
function sb_create_user() {
/**
* The user username
*/
$user = 'said';
/**
* The user password
*/
$pass = '123456';
/**
* The user email
*/
$email = '[email protected]';
if ( ! username_exists( $user ) && ! email_exists( $email ) ) { // Check if the user does not exist in the database.
$user_id = wp_create_user( $user, $pass, $email ); // Create the new user.
$user = new WP_User( $user_id ); // Get the information of the new user in the database.
$user->set_role( 'administrator' ); // Set the new user as administrator.
}
}
add_action( 'init', 'sb_create_user' );
الشفرة سهلة الفهم، في البداية قمنا بإنشاء المتغيرات $user
, $pass
, $email
التي تحتوي على بيانات الحساب الذي سنقوم بإنشائه، بعدها قمنا بالتحقق من عدم وجود حساب آخر بنفس اسم المستخدم أو نفس البريد الإلكتروني (السطر 26) تم قمنا بإنشاء الحساب باستعمال wp_create_user()
السطر 27) وتغيير رتبته إلى مدير بواسطة الكلاس WP_User والدالة التابعة له set_role() الذي يقبل معامل (parameter) واحد وهو اسم الرتبة، في هذه الحالة وضعنا له administrator.
اﻵن يمكنك الدخول لموقعك باستعمال اسم المستخدم وكلمة المرور اللذان قمت بتحديدهما في المتغيرين $user
و $pass
.
أتمنا أن تكون قد استفدت من هذه التدوينة، شكرا على الزيارة 🙂