ایجاد و مدیریت کاربران در وردپرس

///ایجاد و مدیریت کاربران در وردپرس

ایجاد و مدیریت کاربران در وردپرس

سایر بخش های سری آموزشی " ایجاد افزونه وردپرس "

هر کاربری در وردپرس حداقل یک نام کاربری، رمز عبور و آدرس ایمیل دارد و با استفاده از آن اطلاعات می تواند به پنل کاربردی خود وارد شود که این پنل براساس نقش آن کاربر می تواند، متفاوت باشد.

 

وارد کردن کاربران

برای وارد کردن کاربر می توان از wp_insert_user یا wp_create_user استفاده کرد. البته wp_create_user تنها برای ایجاد کاربر جدید استفاده می شود و با آن نمی توان فیلدهای مربوط به کاربران موجود را مدیریت کرد. wp_insert_user این امکان را می دهد تا تمام فیلدهای مربوط را با اطلاعات پر کنید.

<?php wp_insert_user( $userdata ); ?>

پارامترها

$userdata که از نوع الزامی بوده و آرایه ای است که اطلاعات کاربران را در خود نگه می دارد. این مقدار پیشفرض ندارد.

 

نتیجه برگشتی

در صورتی که عملیات با موفقیت انجام گیرد، شناسه مربوط به کاربر باز گردانده خواهد شد، در غیراینصورت خطایی از نوع WP_Error باز گردانده خواهد شد.

مثال:

در زیر به مثالی اشاره می کنیم که یک کاربر جدید را به همراه آدرس وب سایت در سایت وارد می کنیم:

<?php
$website = "https://example.com";
$userdata = array(
    'user_login'  =>  'login_name',
    'user_url'    =>  $website,
    'user_pass'   =>  NULL  // When creating an user, `user_pass` is expected.
);
 
$user_id = wp_insert_user( $userdata ) ;
 
//On success
if( !is_wp_error($user_id) ) {
 echo "User created : ". $user_id;
}
?>

نتیجه اجرای کدها همانطور که گفته شد اگر عملیات با موفقیت اجرا شود، شناسه مربوط به کاربر باز گردانده خواهد شد، در غیراینصورت خطایی از نوع WP_Error باز گردانده خواهد شد.

 

نکته: متغییر $userdata به صورت آرایه بوده و این بدان معناست که می توانید با استفاده از گزینه های زیر اطلاعات بیشتری را به هنگام درج و ایجاد کاربران به کار گیرید:

  • display_name نام عمومی کاربر که در سایت نمایش داده می شود
  • user_email آدرس ایمیل کاربر
  • first_name نام کاربر
  • last_name فامیلی کاربر
  • description توضیحات بیشتر یا همان بیوگرافی
  • role نقش کاربر
  • yim شناسه یاهو کاربر

 

ایجاد کاربران

با استفاده از تابع wp_create_user می توانید یک کاربر جدید را به پایگاه داده وردپرس اضافه کنید. برای این منظور و ارتباط با پایگاه داده از کلاس $wpdb استفاده می شود.

مثال:

<?php
$user_id = username_exists( $user_name );
    if ( !$user_id and email_exists($user_email) == false ) {
        $random_password = wp_generate_password( $length=12, $include_standard_special_chars=false );
    $user_id = wp_create_user( $user_name, $random_password, $user_email );
    } else {
    $random_password = __('User already exists. Password inherited.');
}
?>

پارامترها

$username نام کاربری (لازم)

$password رمز عبور (لازم)

$email ایمیل کاربر

 

نتیجه

اگر اجرای کدها با موفقیت همراه بود، شناسه مربوط به کاربر ایجاد شده باز گردانده می شود. اگر خطایی نمایش داده شود می تواند به دلایل زیر باشد:

  • empty_user_login – نمی توان کاربری را بدون نام کابری ایجاد کرد
  • existing_user_login – نام کاربری از قبل وجود دارد
  • existing_user_email – ایمیل مشخص شده از قبل در پایگاه داده وجود دارد

 

حذف کاربر

قبل از هرچیز باید اشاره کرد که در وردپرس با حذف کاربر، نوشته های ارسالی حذف نشده و به یک کاربر دیگر ربط داده می شوند. البته این به شرطی است که شما در افزونه خود از $reassign استفاده کنید، در غیراینصورت با حذف کاربر، نوشته های مربوط به آن کاربر نیز حذف خواهند شد. بنابراین به این موضوع به طور کامل آگاه باشید!

مثال:

<?php
wp_delete_user( $id, $reassign );
?>

پارامترها

$id – شناسه کاربر (عدد) (لازم)

$reassign – شناسه کاربری که می خواهید نوشته های به آن ربط داده شوند (عدد) (اختیاری)

نتیجه برگشتی به صورت True یا False خواهد بود.

نویسنده: |۱۳۹۵/۵/۹ ۱۹:۰۲:۵۵۹ مرداد ۱۳۹۵|ساخت افزونه وردپرس, سری آموزشی|فاقد دیدگاه

درباره نویسنده:

از زمانی که اولین سایت خودم رو با وردپرس راه اندازی کردم به این سیستم مدیریت محتوا علاقه مند شدم و برای راه اندازی اکثر سایت ها از اون استفاده کردم.

نظر شما چیست