web-dev-qa-db-fra.com

Masquer les prix et la fonctionnalité de paiement dans woocommerce

Je sais que cette question est peut-être trop large, mais je cherche un peu de direction. Mon client a un magasin de commerce avec 30-40 produits. Pour une raison quelconque, ils ne veulent plus vendre en ligne, mais ils souhaitent conserver les pages produits, les informations, etc. sur leur site Web.

Existe-t-il un moyen, en utilisant des crochets ou autre, de cacher des éléments tels que les prix, le bouton Ajouter au panier, etc. dans le commerce en ligne? Ou devrais-je simplement éditer les fichiers de modèle php?

15
miles

heureusement, woocommerce a de nombreux crochets, cela supprime les prix et les boutons:

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

vous pouvez creuser dans content-product.php et content-single-product.php si vous devez supprimer plus de choses.

J'imagine qu'il y a plus que les prix/boutons que vous souhaitez masquer/supprimer (comme les pages/fonctions), ce tutoriel vous donne des indications

22
Ewout

En étendant le code ci-dessus (merci à Ewout), le code suivant supprimera tous les prix et les boutons "ajouter au panier" de tous les produits woocommerce, en plus d'expliquer pourquoi. J'avais besoin du code d'un site Web proposant des produits de vente directe et conforme à leurs règles. Je ne peux pas montrer les prix au grand public.

Ajoutez le filtre au fichier functions.php de votre thème.

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

Cela empêchera totalement le paiement et cachera tous les prix en:

  • Rendre tout produit non achetable (ligne 1)
  • Prix ​​de vidage HTML (ligne 2)
1
Nabil Kadimi