حذف کردن آیتم از منو حساب کاربری ووکامرس

ممکن است این سوال برای شما هم پیش آمده باشد که چطور می توانید یک آیتم از حساب کاربری در ووکامرس حذف کنید و از این ترس داشته باشید که این کار خیلی سخت باشد و نتوانید به راحتی آیتمی به منو اضافه کنید.

در این آموزش قصد داریم نحوه اعمال تغییرات در منوی حساب کاربری ووکامرس اعمال کنیم.

حذف کردن آیتم از منو حساب کاربری ووکامرس
حذف کردن آیتم از منو حساب کاربری ووکامرس

حذف کردن آیتم از منو حساب کاربری ووکامرس

خب! به ساده ترین بخش آموزش رسیدیم. در این بخش قصد داریم تب‌هایی که در فروشگاه ما به آنها نیازی نیست را حذف کنیم.

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

فیلتر woocommerce_account_menu_items:

همانطور که می‌دانید قدرت وردپرس در استفاده از هوک‌ها و فیلترها می‌باشد و ووکامرس برای اعمال تغییرات بر روی حساب کاربری من از فیلتر woocommerce_account_menu_items استفاده می‌کند. کد زیر را مشاهده کنید:

add_filter ( 'woocommerce_account_menu_items', 'wphashtag_remove_my_account_links' );
function wphashtag_remove_my_account_links( $menu_links ){
 
	unset( $menu_links['edit-address'] ); // Addresses
 
 
	//unset( $menu_links['dashboard'] ); // Remove Dashboard
	//unset( $menu_links['payment-methods'] ); // Remove Payment Methods
	//unset( $menu_links['orders'] ); // Remove Orders
	//unset( $menu_links['downloads'] ); // Disable Downloads
	//unset( $menu_links['edit-account'] ); // Remove Account details tab
	//unset( $menu_links['customer-logout'] ); // Remove Logout link
 
	return $menu_links;
 
}

خب! همانطور که در تکه کد بالا مشاهده می‌کنید ابتدا با استفاده از add_filter به وردپرس اعلام کرده‌ایم که یک فیلتر باید اعمال کند.

با استفاده از woocommerce_account_menu_items مشخص کرده ایم که فیلتر بر روی ووکامرس و صفحه حساب کاربری اعمال شود.

در ادامه مشخص کردیم که باید از کدام تابع دستورات مربوط به فیلتر را بخواند و اجرا کند. در تابع 'wphashtag_remove_my_account_links' تعیین کرده‌ایم که آدرس را از منو حذف کند.پارامتر ورودی این تابع متغیر menu_links می‌باشد که لیست منوهای فعال در حساب کاربری می‌باشد.

همانطور که می‌بینید برای غیرفعال کردن یک آیتم کافی ‌است مشابه کد آیتم مورد نظر را unset کرد.

unset( $menu_links['edit-address'] ); // Addresses

اما این تکه کد را در کجا باید قرار دهید!؟

معمولا تکه کدهای اینچنینی را در فایل functions.php قرار می‌دهیم, پس به دایرکتوری قالب فعال سایتتان بروید و فایل functions.php را باز و ویرایش کنید.

حذف کردن آیتم از منو حساب کاربری ووکامرس
حذف کردن آیتم از منو حساب کاربری ووکامرس

همانطور که می‌دانید حذف کردن یک آیتم لینک‌دار در وردپرس باعث به وجود آمدن خطای ۴۰۴ می‌شود پس اگر می‌خواهید با این خطا مواجه نشوید باید تغییرات را به گونه‌ای اعمال کنید تا صفحه ۴۰۴ را مدیریت و به آدرس دیگری هدایت کنید.

خب تا این بخش از کار ساده بود. اما اگر کاربران شما به صورت دستی آدرس /my-account/edit-address/ را در مرورگر وارد کنند می‌توانند به صفحه ویرایش آدرسها وارد شوند. پس می‌شود گفت که تلاش شما تا اینجا با شکست مواجه شد.

ممکن است اولین روشی که به ذهن شما می‌رسد حذف کردن فایل یا مسیرها باشد. به عنوان مثال استفاده از متغیر wp_rewrite . اما لطفا این کار را نکنید!!

کد بالا به شما کمک می‎‌کند تا آیتم مورد نظر را از صفحه حساب کاربری حذف کنید اما برای ادامه کار نیازی به کدنوشتن ندارید و کافی است از تنظیمات ووکامر درون سایت خود نقطه پایانی این درخواست را حذف کنید. برای انجام این کار به ووکامرس> پیکربندی> پیشرفته بروید و در بخش نقطه پایانی حساب کاربری مقدار فیلد آدرس‌ها را خالی کنید.

حذف کردن آیتم از منو حساب کاربری ووکامرس
حذف کردن آیتم از منو حساب کاربری ووکامرس

 

خب! به همین سادگی شما می‌تونید یک آیتم را از حساب کاربری حذف کنید.

در آموزش بعدی خواهید دید چطور می‌توان یک آیتم را تغییر نام داد و یا یک آیتم جدید اضافه کنید.

آموزش‌های که به شما در درک این مطلب کمک می‌کند

تابع add_filter

 

دیدگاهتان را بنویسید