غیرفعال کردن درگاه پرداخت برای کتگوری
گاهی نیاز دارید برای یک یا چند 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 از کد با توجه به نیاز شما باید تغییر کنند.