Ocultar preços e funcionalidade de checkout no woocommerce

15

Eu sei que essa pergunta pode ser muito ampla, mas estou procurando um pouco de direção. Meu cliente tem uma loja de woocommerce com 30 a 40 produtos. Por qualquer motivo, eles não querem mais vender on-line, mas querem manter as páginas de produtos, informações etc. em seu site.

Existe uma maneira, usando ganchos ou de outra forma, para ocultar coisas como preços, adicionar ao botão de carrinho, etc. no woocommerce? Ou devo apenas editar os arquivos de modelo do php?

    
por miles 11.03.2013 / 21:46

3 respostas

22

felizmente o woocommerce tem muitos ganchos, isso remove os preços e os botões:

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 );

você pode pesquisar em content-product.php e content-single-product.php se precisar remover mais coisas.

Eu posso imaginar que há mais do que apenas os preços / botões que você deseja ocultar / remover (como páginas / funções), este tutorial dá-lhe alguns apontamentos

    
por Ewout 15.03.2013 / 10:25
13

Estendendo o código acima (obrigado, Ewout), o código a seguir eliminará todos os preços e os botões 'adicionar ao carrinho' em todos os produtos de comércio eletrônico, além de fornecer uma explicação do motivo. Eu precisava do código de um site que oferece produtos de venda direta e de cumprir suas regras, não posso mostrar preços ao público em geral.

Adicione o filtro ao arquivo functions.php do seu tema.

    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.';
      }

}
    
por Angela 15.12.2013 / 12:05
1
add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );

Isso impede totalmente o check-out e oculta todos os preços por:

  • Tornar todo o produto não adquirível (linha 1)
  • Esvaziando o preço HTML (linha 2)
por Nabil Kadimi 22.08.2017 / 03:35