Надеемся получить некоторую помощь в удалении этой кнопки «добавить в корзину» вместе с указанными ценами Вот. Документацию по плагину можно найти Вот также.
В настоящее время я должен удалить цены в WooCommerce:
add_filter('woocommerce_get_price_html','members_only_price');
function members_only_price($price){
if(is_user_logged_in() ){
return $price;
} else {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
remove_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );
remove_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );
return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.';
}
}
IIRC это был оригинальный вопрос с которого я смог использовать код до тех пор, пока нам не потребовались композитные продукты.
Решение вашей проблемы заключается в том, что вам просто нужно добавить еще одну команду «remove_action» для составного типа продуктов.
Для этого нужно убрать действие woocommerce_composited_add_to_cart
Хитрость в том, что если вы будете искать это действие, вы узнаете, что это действие добавлено с использованием объекта класса, поэтому вам нужно удалить его, используя тот же объект класса.
Учебники о том, как удалять действия с использованием объекта класса, уже есть в сети, которую вам нужно исследовать.
Это, безусловно, поможет вам достичь вашего решения.
Других решений пока нет …