Как отключить способ оплаты для определенной категории
Опубликовано: 2020-09-01У вас есть магазин WooCommerce и вы хотите знать, как отключить способ оплаты для определенной категории или несколько способов оплаты в зависимости от категорий продуктов, которые присутствуют в корзине? Если вы ищете решение, ориентированное на категории продуктов, но с некоторыми небольшими изменениями, которое также может быть изменено для классов доставки, например, для самих продуктов, эта статья расскажет вам, как этого добиться.
Отключить способ оплаты для определенной категории
Хороший пример, когда этот подход полезен, — это когда владельцы магазинов WooCommerce имеют категорию, содержащую только продукты с высокой ценой, и хотят, чтобы клиенты платили банковскими переводами вместо использования кредитной карты. Это всего лишь пример многих ситуаций, в которых вам может понадобиться отключить способ оплаты для категории.
Если вы не разбираетесь в технологиях, вы можете выбрать плагин премиум-класса, который сделает эту работу за вас. Примером может служить плагин условного платежа WooCommerce, который помогает вам создавать условия, при которых ваши способы оплаты будут включены или отключены. Если вы не очень хорошо разбираетесь в коде, это будет лучшее премиум-решение, которое вам стоит рассмотреть.
Более того, этот плагин позволяет вам создавать неограниченные условия и использовать, например, общую сумму корзины, страну выставления счетов, роль пользователя и многое другое, чтобы определить, какой платежный шлюз показывает, а какой нет.
Однако в этом кратком руководстве я покажу вам, как отключить способ оплаты для определенной категории с помощью фрагментов кода PHP.
Действия по отключению способа оплаты для определенной категории с помощью фрагмента кода PHP
Вот простые шаги, которые вам необходимо выполнить:
- Войдите на свой сайт WordPress и получите доступ к панели инструментов в качестве пользователя-администратора.
- В меню «Панель инструментов» нажмите « Меню внешнего вида» > «Меню редактора тем». Когда откроется страница редактора тем, найдите файл функций темы, в который мы добавим функцию, отключающую способ оплаты для определенной категории.
- Добавьте следующий код в файл php :
/** * @snippet Отключить способ оплаты для определенной категории */ add_filter('woocommerce_available_payment_gateways', 'njengah_unset_gateway_by_category'); функция njengah_unset_gateway_by_category ($ available_gateways) { если ( is_admin() ) вернуть $ available_gateways; если ( ! is_checkout() ) вернуть $ available_gateways; $ не установлен = ложь; $category_ids = массив (8, 37); foreach ( WC()->cart->get_cart_contents() as $key => $values ) { $terms = get_the_terms($values['product_id'], 'product_cat' ); foreach ( $terms как $term ) { если (in_array($term->term_id, $category_ids)) { $ не установлен = истина; ломать; } } } если ($unset == true) unset($ available_gateways['cheque']); вернуть $ available_gateways; }
- Это будут результаты
Не забудьте добавить правильный идентификатор категории, который находится в вашем магазине WooCommerce, чтобы этот код работал.
Если вам не нравится использовать идентификатор категории, вы также можете использовать ярлык категории в своем магазине WooCommerce. Вы можете использовать их, так как их легче понять для дальнейшего использования.
Шаги по отключению способа оплаты для определенной категории с помощью ярлыков категорий
- Войдите на свой сайт WordPress и получите доступ к панели инструментов в качестве пользователя-администратора.
- В меню «Панель инструментов» нажмите « Меню внешнего вида» > «Меню редактора тем». Когда откроется страница редактора тем, найдите файл функций темы, в который мы добавим функцию, отключающую способ оплаты для определенной категории.
- Добавьте следующий код в файл php :
/** * @snippet Отключить платежный шлюз в зависимости от категории. */ функция njengah_disable_payment_gateway_category($gateways) { // Категории, которые отключат платежный шлюз $category_slugs = array('аксессуары', 'другая-категория'); $category_ids = get_terms(array('taxonomy' => 'product_cat', 'slug' => $category_slugs, 'fields' => 'id') ); // Проверяем каждый товар в корзине для данной категории foreach (WC()->cart->get_cart() как $item) { $продукт = $элемент['данные']; если ($product && array_intersect($category_ids, $product->get_category_ids()) ) { unset($gateways['cod'] ); // Отключить платежный шлюз 'cod', когда продукт имеет одну из категорий ломать; } } вернуть $шлюзы; } add_filter('woocommerce_available_payment_gateways', 'njengah_disable_payment_gateway_category');
- Это будет результат
Не забудьте добавить правильный ярлык категории, и вам нужно определить платежный шлюз, который вы хотите отключить. В моем примере я использовал слово «треска» для обозначения наложенного платежа.
Важно отметить, что идентификатор платежного шлюза также необходимо изменить на тот, который вы хотите отключить, когда данная категория присутствует в корзине.
- Банковский перевод (бакс)
- Чек (чек)
- Наложенный платеж (наложенный платеж)
- ПэйПал (PayPal)
Однако, если вы не используете один из платежных шлюзов по умолчанию, не беспокойтесь, так как есть простой способ узнать идентификатор платежного шлюза. Вы можете сделать это, перейдя на страницу настроек платежного шлюза, и вы найдете там идентификатор.
Например, для параметра «Наложенный платеж» на странице настроек это будет URL-адрес: wp-admin/admin.php?page=wc-settings&tab=checkout§ion=cod.
Вывод
В этом посте вы узнали, как отключить способ оплаты для определенной категории, используя два метода. Вы можете определить их, используя идентификаторы категорий продуктов или ярлыки категорий для удобства использования в будущем. Не забудьте использовать идентификатор категории или ярлык, который находится в вашем магазине WooCommerce, чтобы добавить эту функцию.
Похожие статьи
- Плагин перенаправления WRAC WooCommerce после оформления заказа
- Как изменить текст кнопки «Добавить в корзину» на странице магазина WooCommerce
- Как удалить меню загрузок Страница моей учетной записи WooCommerce
- Как продавать цифровые продукты с помощью WooCommerce
- Как удалить стандартную сортировку товаров WooCommerce
- Как добавить номера GTIN к продуктам в WooCommerce
- Как сортировать категории WooCommerce для лучшего взаимодействия с пользователем
- Как скрыть все товары со страницы магазина в WooCommerce
- Как скрыть поле кода купона WooCommerce
- Скрыть или удалить поле количества со страницы продукта WooCommerce
- Как отображать продукты WooCommerce по категориям
- Как добавить изображение продукта на страницу оформления заказа WooCommerce