web-dev-qa-db-fra.com

Comment personnaliser la position de "Ajouter au panier" de WooCommerce sur la page produit

Quel fichier (ou fichiers, s'il y en a plusieurs) dois-je modifier pour réorganiser la page de produit?

Je souhaite apporter des modifications de mise en page de base à la page de produit par défaut de Woocommerce. Plus précisément, je veux mettre les commandes au-dessous du prix et pousser la description. En d’autres termes, permutez la Description courte avec les commandes (Attributs, Ajouter au panier, SKU, etc.). Voici une capture d’écran de ce que je veux faire: http://d.pr/i/YGAY

2
Blake Miller

Vous pouvez faire ce que vous voulez en vous connectant à l'action woocommerce_single_product_summary. L'action est exécutée dans content-single-product.php comme ceci:

    <?php
        /**
         * woocommerce_single_product_summary hook
         *
         * @hooked woocommerce_template_single_title - 5
         * @hooked woocommerce_template_single_price - 10
         * @hooked woocommerce_template_single_excerpt - 20
         * @hooked woocommerce_template_single_add_to_cart - 30
         * @hooked woocommerce_template_single_meta - 40
         * @hooked woocommerce_template_single_sharing - 50
         */
        do_action( 'woocommerce_single_product_summary' );
    ?>

Au-dessus de vous avez une description/documentation sur les pièces accrochées, le numéro représente la priorité et/ou l'ordre.

Vous pouvez changer la priorité/l'ordre en supprimant et en rajoutant les pièces que vous souhaitez modifier, par exemple:

    /** woocommerce: change position of add-to-cart on single product **/
    remove_action( 'woocommerce_single_product_summary', 
               'woocommerce_template_single_add_to_cart', 30 );
    add_action( 'woocommerce_single_product_summary', 
            'woocommerce_template_single_add_to_cart', 9 );

Déposez ce morceau de code dans votre functions.php pour prendre effet. La partie "ajouter au panier" doit maintenant apparaître après le titre et avant le prix, si vous souhaitez afficher après le prix - par exemple - choisissez un numéro - dans le code ci-dessus, sur la ligne add_action() - entre 11 et 19 - je suis sûr que vous obtenez le principe maintenant.

8
Nicolai