Удаление цены составного продукта на странице продукта в WooCommerce

Надеемся получить некоторую помощь в удалении этой кнопки «добавить в корзину» вместе с указанными ценами Вот. Документацию по плагину можно найти Вот также.

В настоящее время я должен удалить цены в 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 это был оригинальный вопрос с которого я смог использовать код до тех пор, пока нам не потребовались композитные продукты.

1

Решение

Решение вашей проблемы заключается в том, что вам просто нужно добавить еще одну команду «remove_action» для составного типа продуктов.

Для этого нужно убрать действие woocommerce_composited_add_to_cart

Хитрость в том, что если вы будете искать это действие, вы узнаете, что это действие добавлено с использованием объекта класса, поэтому вам нужно удалить его, используя тот же объект класса.

Учебники о том, как удалять действия с использованием объекта класса, уже есть в сети, которую вам нужно исследовать.

Это, безусловно, поможет вам достичь вашего решения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]