تغییر نقش های کاربری در ووکامرس (user role)

  • دسته بندی : اخبار
  • 2 نظر
  • تاریخ بروزرسانی : ۸ آبان ۱۴۰۰
  • 258 بازدید

تغییر نقش های کاربری در ووکامرس (user role)

 

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

 

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

 

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

بهتر است برایتان ابتدا داستان نقش های کاربری وردپرس را تشریح کنیم . بصورت دیفالت Role کاربرانی که در ووکامرس ثبت نام می‌کنند، user role هم Customer یا مشتری خواهد بود. اما شاید بخواهید با تغییر نقش کاربر پیشفرض در ووکامرس، یک Role جدید موقع ثبت نام به مشتریان خود دهید. فرض کنید یک سایت فروشگاهی ( با ووکامرس ) دارید و با استفاده از پنل کاربری خود ( وابسته به خدماتی که به کاربران ارائه میدهید ) میخواهید نقش های کاربری متفاوتی ایجاد کنید . تا هر کاربر بر اساس نقش کاربریش خدمات مشخص شده از طرف شما را دریافت کند .

 

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

 

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

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

 

$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 یا همان نقش کاربری را دست‌خوش تغییراتی کنیم.

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

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

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

توجه داشته باشید که ، کد بالا باید بعد از <?php قرار بگیرد.

 

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

 

تغییر نقش های کاربری در ووکامرس (user role)

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

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

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

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

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

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

اشترک گذاری

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

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

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

نظرات پس از رویت و تایید مدیران نمایش داده می شود

  • salman 10 اردیبهشت 1401 پاسخ

    سلام وقتتون بخیر

    راه حلی وجود داره که برای یک محصول خاص در ووکامرس نقش جدیدی ایجاد کنیم که فقط خریداران اون محصول نقششان عوض بشه؟

    مثلا کاربران محصول شماره یک خریده اند بعد از خرید نقش کاربری آنها بشه کاربران شماره یک

    • محمد پورداداشمدیر سایت[ در پاسخ به salman ] 11 اردیبهشت 1401 پاسخ

      با سلام
      خوب امکان داره یک کاربر چند محصول خریداری کنه

مشاهده نظرات بیشتر

همکاران وبیت