pouya.x 5 ارسال شده در شهریور 98 گزارش بازنشر ارسال شده در شهریور 98 با سلام خدمت تمامی وردپرس کاران امروز میخوام یه کد کاربردی رو معرفی کنم که توسط بنده تکمیل تر شده (حالا اینطوری بگم بهتره) ، با استفاده از این کد میتوانید برای نوع کاربر خود محدودیت خرید ایجاد کنید فرض کنید سه نوع کاربر "کاربر عادی" , "کاربر ویژه" و "مدیر کل" دارید حالا مدیر کل که هیچ همینطوری نوشتم ولی به میخواهیم به اون دو نوع کاربر محدودیت خرید محصول اعمال کنیم add_filter( 'woocommerce_update_cart_validation', 'only_five_items_allowed_cart_update', 10, 4 ); function only_five_items_allowed_cart_update( $passed, $cart_item_key, $values, $updated_quantity ) { $cart_items_count = WC()->cart->get_cart_contents_count(); $original_quantity = $values['quantity']; $total_count = $cart_items_count - $original_quantity + $updated_quantity; function display_user_roles_1(){ $user_id1 = get_current_user_id(); $user_info1 = get_userdata( $user_id1 ); $user_roles1 = implode(', ', $user_info1->roles); return $user_roles1; } if (!display_user_roles_1() == 'normal-account') { if( $cart_items_count > 5 || $total_count > 5 ){ // Set to false $passed = false; // Display a message wc_add_notice( __( "خرید بیشتر از 5 محصول برای کاربران عادی مجاز نمیباشد", "woocommerce" ), "error" ); } return $passed; } if (!display_user_roles_1() == 'special-account') { if( $cart_items_count > 15 || $total_count > 15 ){ // Set to false $passed = false; // Display a message wc_add_notice( __( "خرید بیشتر از 15 محصول برای کاربران ویژه مجاز نمیباشد", "woocommerce" ), "error" ); } return $passed; } if (display_user_roles_1() == 'administrator') { if( $cart_items_count > 20 || $total_count > 20 ){ // Set to false $passed = false; // Display a message wc_add_notice( __( "خرید بیشتر از 20 محصول برای مدیر کل هم مجاز نمیباشد", "woocommerce" ), "error" ); } return $passed; } } به شکل بالا عمل خواهید کرد ، دقت کنید که در شرط های بالا display_user_roles_1() نشان دهنده نوع کاربر هست نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .