web-dev-qa-db-ja.com

Woocommerceのカートに追加ボタンを関連商品と商品リストに追加

私はまだWooCommerceに慣れていないので、WooCommerceに追加のものを追加するのに少し苦労しています。関連商品や商品リストに「カートに追加」ボタンを追加しようとしています。

コードを実行していて、以下でスタックしました。

<a href="<?php the_permalink(); ?>">

        <?php
            /**
             * woocommerce_before_shop_loop_item_title hook
             *
             * @hooked woocommerce_show_product_loop_sale_flash - 10
             * @hooked woocommerce_template_loop_product_thumbnail - 10
             */
            do_action( 'woocommerce_before_shop_loop_item_title' );
        ?>

        <h3><?php the_title(); ?></h3>

        <?php
            /**
             * woocommerce_after_shop_loop_item_title hook
             *
             * @hooked woocommerce_template_loop_price - 10
             */
            do_action( 'woocommerce_after_shop_loop_item_title' );
        ?>

    </a>

    <?php do_action( 'woocommerce_after_shop_loop_item' ); ?>  

誰かがボタンを追加する方法について私を案内してくれることを願っています。前もって感謝します。

5
user1685141

各do_actionを説明するために、woocommerce-hooks.php内にあり、woocommerce-template.php内の関数を指しています。

サムネイルを作成します:

Function Name: woocommerce_template_loop_product_thumbnail()

do_action( 'woocommerce_before_shop_loop_item_title' );

価格を提供します:

Function Name: woocommerce_template_loop_price()

do_action( 'woocommerce_after_shop_loop_item_title' );

カートに追加ボタン:

Function Name: woocommerce_template_loop_add_to_cart()

do_action( 'woocommerce_after_shop_loop_item' );
12
Robert Lee

wordpressフォルダーでwoocommerce_template_loop_add_to_cartを再帰的に検索します。

デフォルトでは、WooCommerceはそれをwp-content\plugins\woocommerce\woocommerce-hooks.phpのwoocommerce_after_shop_loop_itemにフックします

add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );

インストールしたテーマ Mystile は、wp-content\themes\mystile\include\theme-woocommerce.phpのこのフックを削除しました

// Remove add to cart button on archives
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);

コメントアウトすると、「カートに追加」ボタンが表示されました。

8
Azmi Kamis

商品リストページに「カートに追加」ボタンを追加するために、私は個人的にコピーしました:

wp-content/plugins/woocommerce/templates/content-product.php

に:

wp-content/themes/myChildTemplate/woocommerce/content-product.php

次に交換しました:

        do_action( 'woocommerce_after_shop_loop_item_title' );
    ?>

</a>

沿って:

        do_action( 'woocommerce_after_shop_loop_item_title' );
    ?>

</a>
    <?php do_action('woocommerce_simple_add_to_cart'); ?>
4
Alain Tiemblo

参考までに、これに遭遇した人は、このフックを使用して機能させることもできます...

// Add add to cart button on archive page products
add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 10 );
2
Matt Royal

ElegantTheme wordpress theme(Divi)でWooCommerceを使用して、この行をfunctions.phpに追加しました:

add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 10 );

タイトルと価格の直後に[カートに追加]ボタンを追加します(つまり、製品ごとに1つの[カートに追加]ボタン)

1
lise

完全に。私もDIVIを使用していますが、これは完璧に機能しました

add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 10 );

私はまだ評判がないので投票できませんが、これが誰かに役立つかどうかを確認したかったのです。

0
Veronica