recherche

Maison  >  Questions et réponses  >  le corps du texte

Masquer le bouton de requête lorsque le produit est en stock

<p>Comment masquer des boutons spécifiques en fonction de l'état de stock d'un produit ? </p> <p>Le plugin crée cette classe :</p> <pre class="brush:php;toolbar:false;">fonction wdm_pefree_init() { // phpcs : ignorer WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid if ( ! class_exists( 'Product_Enquiry_For_Woocommerce', false ) ) { include_once WDM_PE_PLUGIN_PATH '/includes/class-product-enquiry-for-woocommerce.php'; } Product_Enquiry_For_Woocommerce :: instance (); }</pré> <p>Je souhaite afficher ce bouton uniquement sur une seule page produit pour chaque produit en rupture de stock, mais je n'arrive pas à faire fonctionner mon code. </p> <p>Je ne suis pas très familier avec PHP, j'ai donc essayé d'ajuster un autre code dans le fichier Functions.php sans succès. </p> <p>Toute aide serait la bienvenue, merci ! </p> <p>J'ai essayé ce code : </p> <pre class="brush:php;toolbar:false;">add_filter('woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2); fonction wcs_custom_get_availability($availability, $_product) { // Supprimer le bouton de demande si (!$_product->is_in_stock()) { remove_action('Product_Enquiry_For_Woocommerce'); } renvoie $disponibilité ; }</pré> <p>Je vois également que la classe CSS du bouton est .pe-show-enq-modal, mais je ne peux pas appliquer la condition "Visibilité : Cachée" qui s'applique uniquement aux produits en rupture de stock. </p>
P粉860370921P粉860370921453 Il y a quelques jours466

répondre à tous(1)je répondrai

  • P粉555696738

    P粉5556967382023-09-03 16:12:12

    Ce que vous recherchez, c'est ceci :

    add_action( 'woocommerce_single_product_summary', 'remove_enquiry_button_if_out_of_stock', 30 );
    function remove_enquiry_button_if_out_of_stock() {
        global $product;
        if ( ! $product->is_in_stock() ) {
            remove_action( 'woocommerce_single_product_summary', array( Product_Enquiry_For_Woocommerce::instance(), 'enquiry_button' ), 25 );
        }
    }

    Ou via CSS :

    .product.out-of-stock .pe-show-enq-modal {
        display: none;
    }

    répondre
    0
  • Annulerrépondre