it-swarm.com.ru

Скрыть цены и оформить заказ в woocommerce

Я знаю, что этот вопрос может быть слишком широким, но я ищу немного направления. У моего клиента есть магазин woocommerce с 30-40 товарами. По какой-то причине они больше не хотят продавать через Интернет, но хотят сохранить страницы с информацией о продукте, информацию и т.д. На своем веб-сайте.

Есть ли способ, с помощью хуков или иным образом, скрывать такие вещи, как цены, добавлять в корзину и т.д. В woocommerce? Или я должен просто отредактировать файлы шаблона php?

15
miles

к счастью, у woocommerce есть много хуков, это убирает цены и кнопки:

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );

вы можете копаться в content-product.php и content-single-product.php, если вам нужно удалить больше материала.

Я могу себе представить, что есть нечто большее, чем просто цены/кнопки, которые вы хотите скрыть/удалить (например, страницы/функции), этот урок дает вам несколько указателей

22
Ewout

Расширяя код выше (спасибо Ewout), следующий код избавит от всех цен и кнопок "добавить в корзину" во всех продуктах woocommerce, а также предоставит объяснение, почему. Мне нужен был код для сайта, который предлагает товары с прямой продажей, и чтобы соответствовать их правилам, я не могу показывать цены широкой публике.

Добавьте фильтр в файл functions.php вашей темы.

    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' );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
    return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.';
      }

}
13
Angela
add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );

Это полностью предотвратит оформление заказа и скроет все цены:

  • Сделать весь товар недоступным для покупки (строка 1)
  • HTML-код цены опустошения (строка 2)
1
Nabil Kadimi