همانطور که در آموزش حذف کردن آیتم از منو حساب کاربری ووکامرس دیدید اعمال تغییرات بر روی منوی حساب کاربری ساده است, کافی است بدانید از چه فیلتری باید استفاده کنید. در این آموزش نحوه تغییر نام و اضافه کردن آیتم منو به حساب کاربری را مطالعه خواهید کرد.
نحوه تغییر نام آیتمهای منو حساب کاربری
مشابه با حذف یک آیتم کافی است از فیلتر woocommerce_account_menu_items
برای تغییر نام یک آیتم در منو حساب کاربری استفاده کنید. تکه کد زیر را میتوانید داخل functions.php وارد کنید.
add_filter ( 'woocommerce_account_menu_items', 'misha_rename_downloads' ); function misha_rename_downloads( $menu_links ){ // $menu_links['TAB ID HERE'] = 'NEW TAB NAME HERE'; $menu_links['downloads'] = 'فایلهای من'; return $menu_links; }
خب! به همین سادگی میتونید یک آیتم را در منو حساب کاربری تغییر نام بدید.

نحوه اضافه کردن منو به حساب کاربری
خب حالا میخواهیم به سخترین بخش کار برسیم، اضافه کردن منو به حساب کاربری!
برای اضافه کردن یک منو به حساب کاربری فیلتر بخصوصی نداریم و مشابه حذف کردن و تغییر نام یک آیتم از فیلتر woocommerce_account_menu_items
استفاده میکنیم. کد زیر را ببینید.
add_filter ( 'woocommerce_account_menu_items', 'wphashtag_one_more_link' ); function wphashtag_one_more_link( $menu_links ){ // we will hook "anyuniquetext123" later $new = array( 'anyuniquetext123' => 'علاقمندی های من' ); // or in case you need 2 links // $new = array( 'link1' => 'Link 1', 'link2' => 'Link 2' ); // array_slice() is good when you want to add an element between the other ones $menu_links = array_slice( $menu_links, 0, 1, true ) + $new + array_slice( $menu_links, 1, NULL, true ); return $menu_links; }
توضیح کد:
در متغیر new یک آرایه قرار دادیم که در واقع نام منو و برچسبی که میخواهید به کاربر نمایش دهید را در برمیگیرد. توجه داشته باشید مقداری که به عنوان نام منو انتخاب میکنید باید مقدار یکتا باشد.
نکته: شما در این آرایه میتوانید چند آتیم برای منو حساب کاربری تعریف کنید.
در ادامه با استفاده از تابع array_slice شما میتوانید آیتمی که میخواهید را در بین آیتمهای منو حساب کاربری قرار دهید.
حالا نوبت به این میرسد که منوی که ساختید را لینکدار کنید.
add_filter( 'woocommerce_get_endpoint_url', 'wphashtag_hook_endpoint', 10, 4 ); function wphashtag_hook_endpoint( $url, $endpoint, $value, $permalink ){ if( $endpoint === 'anyuniquetext123' ) { // ok, here is the place for your custom URL, it could be external $url = site_url(); } return $url; }
در این بخش از یک فیلتر جدید به نام woocommerce_get_endpoint_url استفاده میکنیم. کافی است در متغیر url آدرسی که میخواهیم منو به آن بخش وارد شود را وارد نمایید.
خب تا اینجا یاد گرفتید که چطور میتوانید یک آیتم جدید را به منوی حساب کاربری اضافه کنید یا آیتمهای موجود را در حساب کاربری تغییر نام دهید و یا آیتمهای که به آنها نیازی ندارید را حذف کنید.
در آموزش بعد خواهید دید که چطور میتوانید برای اضافه کردن یک آیتم جدید یک صفحه که داخل همین تبها مشابه با آیتمهای حساب کاربری باز شود