Я пишу небольшой плагин.Как начать какую-либо функцию в другом месте, но не в файле function.php Wordpress
Я удаляю способ оплаты, если есть некоторые товарные категории товаров.
У меня есть некоторые функции, и фильтр:
function filter_gateways($gateways){
$payment_NAME = 'paypal'; // <-- some payment method
$category_ID_1 = '6'; // <-- some category of products
global $woocommerce;
foreach ($woocommerce->cart->cart_contents as $key => $values) {
// Get the terms, i.e. category list using the ID of the product
$terms = get_the_terms($values['product_id'], 'product_cat');
// List of the products category for a match
foreach ($terms as $term) {
// $category_ID_1 is the ID of the category for which i want to remove the payment gateway
if($term->term_id == $category_ID_1){
unset($gateways[$payment_NAME]);
break;
}
break;
}
}
return $gateways;
}
add_filter('woocommerce_available_payment_gateways','filter_gateways');
Этот фильтр работает в файле functions.php на тему папки.
Но если я использую его в своих файлах плагинов - фильтр не работает.
Что я делаю неправильно? Как заставить его работать?
Для этого я передаю некоторые переменные в этом фильтре.