غیرفعال کردن درگاه پرداخت برای کتگوری
گاهی نیاز دارید برای یک یا چند Categoty از فروشگاه ووکامرس خود برخی روش های پرداخت را غیر فعال کنید. مثلا کالایی دارید که فقط از طریق پرداخت آنلاین می فروشید و امکان پرداخت در محل برای آن باید غیر فعال باشد. با قرار دادن کد زیر داخل فایل functions.php قالب فعال وردپرس خود و اصلاح مناسب آن با توجه به نیاز خود می توانید این کار را انجام دهید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
add_filter( 'woocommerce_available_payment_gateways', 'wootips_unset_gateway_by_category' ); function wootips_unset_gateway_by_category( $available_gateways ) { global $woocommerce; $unset = false; $category_ids = array( 8, 37 ); foreach ( $woocommerce->cart->cart_contents as $key => $values ) { $terms = get_the_terms( $values['product_id'], 'product_cat' ); foreach ( $terms as $term ) { if ( in_array( $term->term_id, $category_ids ) ) { $unset = true; break; } } } if ( $unset == true ) unset( $available_gateways['mellat'] ); return $available_gateways; } |
کد بالا درگاه بانک ملت را برای کتگوری های ووکامرس با شماره های 8 و 37 غیر فعال می کند. دقت کنید باید از id کتگوری ها و slug درگاه استفاده نمایید. خطوط 6 و 16 از کد با توجه به نیاز شما باید تغییر کنند.
سلام لطفا بفرمایید slugمربوط به درگاه پرداخت را از کجاپیدا کنیم. لطفا منو راهنمایی کنید. جواب این سوال برام خیلی مهم است
یا باید فایل افزونه را ویرایش کنید و داخل آن مقدار method را چک کنید، گاهی هم در پیکربندی ووکامرس وقتی وارد تنظیمات یک درگاه می شوید آدرسی که در مرورگر مشاهده می کنید آخرش نام slug را نوشته.