learndl triboon hostida

تغییر دادن نقش کاربری ووکامرسی در هنگام خرید یا ثبت نام

تغییر نقش های کاربری

 

شاید شما هم بارها و بارها قصد داشته اید که نقش های کاربری را دستخوش تغییر کنید . حتی ممکن است راجب نقش های اصلی کاربری در وردپرس اطلاعاتی نداشته باشید . با داشتن اطلاعات کافی از این قسمت شما میتوانید به راحتی روی کاربران وبسایت خود مدیریت داشته باشید و آنها را دستخوش تغییراتی از جمله (تغییرات نوع کاربری ، حذف کردن ، ویرایش اطلاعات ، خواندن اطلاعات ، اکسپورت گرفتن و … ) کنید . همانطور که میدانید ، وردپرس یک سیستم تولید محتوای پیشرفته اس که در آن افزونه و قالب های بیشماری وجود دارد . همین نکته به وردپرس قدرت بخشیده است . البته کیفیت و قدرت خود وردپرس ر ا نمیتوان زیر سوال برد ، اما در رقابت با سیستم های محتوای دیگر ، وردپرس از لحاظ افزونه و قالب برتری بیشتری دارد . cms های قدرتمند دیگری هم مانند وردپرس داریم . مانند جوملا

 

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

 

نقش کاربری چیه و چه اهمیتی دارد ؟

در وردپرس ، نقش های کاربری مانند ابزارآلات می مانند . منظورم از ابزارآلات اینه که شما بدون داشتن هیچ user role در وردپرس نمیتوانید وبسایت استاندارد و درستی داشته باشید . چرا که باید بین کاربران عادی و مدیرسایت تفاوت هایی وجود داشته باشد . این تفاوت ها را میتوان در سطح دسترسی کاربران وبسایت مشاهده کرد . یک نوع از کاربران فقط میتوانند بخوانند ، یک نوع فقط میتوانند ثبت نام و خرید کنند و نوعی از کاربران میتوانند بروی سئو و تولید محتوای وبسایت اصلی کار کنند. پس تا اینجای کار فهمیدیم که نقش کاربری یک ابزار برای مشخص کردن سطوح دسترسی کاربران در وردپرس است ، نه بیشتر و نه کمتر . شما میتوانید نقش های کاربری رو از قسمت نوار پیشخوان وردپرس > کاربران مشاهده کنید . مهم ترین اهمیت user role هم کنترل وبسایت و سطوح دسترسی است . که موجب برقراری نظم و امنیت در وبسایت میشود .

 

نقش های کاربری در وردپرس :

  • مشارکت کننده ها : میتوانند مانند نقش کاربری نویسنده فعالیت داشته باشند ، با این تفاوت که بیشتر ویرایش انجام میدهند . مثالا نوشته ها یا پروفایل خود را مورد ویرایش قرار میدهند .
  • مشترک : این نقش ، همان کاربری عادی است که میتواند اطلاعات خود را وارد و ویرایش کند . هیچ دسترسی خاصی برای مدیریت وبسایت ندارد !
  • مدیر کل : به کل قسمت های وبسایت دسترسی دارد و میتواند آنها را تغییر دهد .
  • ویرایشگر : میتواند قسمت های خاصی را که مدیرکل تعیین نموده است را ویرایش کند .
  • نویسنده : میتواند به نوار پیشخوان وردپرس دسترسی داشته باشد ، اما فقط برای نوشتن و تولید محتوا در وبسایت ، نه کار دیگری !

 

تغییر نقش کاربری پیشفرض در ووکامرس

به طور از قبل تعیین شده یا خودکار ، نقش کاربرانی که در وبسایت (اکثرا برای خرید و .. ) ثبت نام می‌کنند ، Customer یا مشتری خواهد بود. اما ممکن است بخواهید در وبسایت تغییراتی را فراهم بکنید . که کاربر بتواند نقش های کاربری خاصی پس از ثبت نام داشته باشد یا …

 

فرض میکنیم یک وبسایت فروشگاهی دارید .حال با استفاده از افزونه های متعدد و کدنویسی ، یک پنل حرفه ایی برای خود درست کرده اید (حتی پنل غیر حرفه ایی). گاها بخواهید یک دسترسی خاصی به کاربر خود در وبسایت و پنل آن بدهید . دو راه پیش روی شماست : 1 – تغییر سطح دسترسی همان نقش کاربری – 2 – تغییر user role

 

در این مقاله قراره راجب دومین مورد راه حل های بیشتری بدهیم و در مورد آن بحث کنیم . در رابطه با راه حل اولی باید بگم که راه بسیار ساده ایی پیش روی تان است . چرا که شما با استفاده از افزونه هایی مانند user role editor میتوانید این کارها را به سادگی انجام دهید . برای یادگیری بیشتر تا انتهای این مقاله ما را همراهی کنید .

 

استفاده از فیلتر woocommerce_new_customer_data برای تغییر نقش کاربری

نام فیلتر مورد نظر در ووکامرس woocommerce_new_customer_data هست. با استفاده از این فیلتر می‌توانیم داده‌های ارسالی موقع ثبت‌نام کاربر در ووکامرس را تغییر دهیم. حالا از همین فیلتر استفاده می‌کنیم تا داده‌ها را تغییر دهیم.

 

چرا از این فیلتر استفاده کنیم

اگر کدهای افزونه ووکامرس را بررسی کنیم، در فایل wp-contentpluginswoocommerceincludeswc-customer-functions.php حوالی خط 100 را به این شکل مشاهده خواهیم کرد:

$new_customer_data = apply_filters( 'woocommerce_new_customer_data', array(
    'user_login' => $username,
    'user_pass'  => $password,
    'user_email' => $email,
    'role'       => 'customer'
) );

 

اینجا با یک apply_filter مواجه هستیم. یعنی فیلتری با نام woocommerce_new_customer_data می‌تواند روی داده‌های مشتریان جدید تاثیر‌گذار باشد. پس شروع می‌کنیم. باید role یا همان user role را دست‌خوش تغییراتی کنیم.

 

استفاده از فیلتر

همانطور که می‌دانیم باید برای اضافه کردن یک فیلتر در وردپرس، از add_filter استفاده کنیم. به این شکل:

<?php add_filter( $tag, $function_to_add, $priority, $accepted_args ); ?>

کد بالا باید بعد از <?php قرار بگیرد.

 

ساخت تابع vebeet_new_customer_data

 

به جای $tag باید از نام فیلتر و به جای $function_to_add باید نام تابع مورد نظر خودمان را وارد کنیم. پس باید به این شکل باشد:

add_filter( 'woocommerce_new_customer_data', 'vebeet_new_customer_data');

 

حالا باید در تابع vebeet_new_customer_data شروع به نوشتن کدهای مربوط به داده کنیم. اطلاعاتی را برگردانیم که مربوط به داده مشتری خواهد بود. به این شکل:

function vebeet_new_customer_data($new_customer_data){
 $new_customer_data['role'] = get_option( 'default_role' );
 return $new_customer_data;
}

 

طبق کد بالا اعلام کردیم که در آرایه new_customer_data مقدار role را برابر با تنظیمات user role پیشفرض وردپرس قرار بده. یعنی نقش کاربری پیشفرض وردپرس با user role مشتری ثبت‌نامی در ووکامرس یکسان باشد.

 

کد نهایی که باید به سایت اضافه کنیم:

به همین راحتی! در نهایت کدهای ما باید به این شکل باشند:

add_filter( 'woocommerce_new_customer_data', 'vebeet_new_customer_data');

function vebeet_new_customer_data($new_customer_data){
 $new_customer_data['role'] = get_option( 'default_role' );
 return $new_customer_data;
}

 

 

افزودن کد تغییر نقش کاربری پیشفرض در ووکامرس

این کدها باید کجای سایت ما قرار بگیرند؟ فایل توابع قالب وردپرس یا همان functions.php فایلی هست که باید میزبان کدهای جدید باشد . مهم ترین دلیل آن هم این است که با آپدیت های مختلف (وردپرس ، قالب و افزونه ها ) این قسمت هایی که در فایل فانکشن آورده ایم مورد تغییر قرار نمیگرند . البته می‌توانید یک افزونه اختصاصی بسازید، اما نیازی نیست. فایل توابع قالب منبع ذخیره چنین کدهایی هست. به همین راحتی! از این پس نقش کاربری پیشفرض مشتریان ووکامرس شما، user role پیشفرض انتخاب شده در بخش تنظیمات > عمومی خواهد بود.

 

 

انتخاب user role پیشفرض در وردپرس

برای این‌کار وارد بخش تنظیمات > عمومی شوید. حالا از بخش نقش پیش‌فرض کاربر تازه باید نقش کاربری دلخواه خود را انتخاب کنید.

 

آموزش کامل تغییر نقش کاربری در وبیت

 

 

 

آموزش نام نویسی کاربران در سایت توسط وبیت

 

 

کل کار به همین راحتیا بود ! جالبه بدونید که از این به بعد کاربران تازه ثبت نام شده در سایت شما ، user role جدیدی که تعریف کردید را موقع ثبت‌نام دریافت خواهند کرد. با این روش میتوانید مدیریت فوق العاده ایی بروی نقش های کاربری وبسایت خود داشته باشید . چنانچه تا اینجای کار سوالی در ذهن دارید ، میتوانید از قسمت کامنت ها با ما به اشتراک بگذارید .

به این مطلب امتیاز دهید

امتیاز کلی : 0 / 5. تعداد آرا : 0

اولین نفر باید که به این مطلب امتیاز میدهید

وبیت این پست توسط نگارش شده است.

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

در کانال وبیت عضو شو تا از آخرین اخبار ، آپدیت محصولات و تخفیف ها با خبر بشی ☺ عضویت در کانال تلگرام

اشترک گذاری

مقاله های پیشنهادی

وبیت این مطالب را به شما پیشنهاد میدهد

ارسال نظر ( 0 نظر تایید )

نظرات پس از رویت و تایید مدیران نمایش داده می شود
هنوز نظری ثبت نشده است ، اولین نفری باشید که نظر میدهید !
همکاران وبیت