点击产品指向购物车

时间:2018-02-01 07:37:33

标签: php wordpress woocommerce

我在类别页面上有一个产品循环。

我需要在用户点击产品时将定向到产品页面,而不是定向到购物车页面。

有两件事会同时发生:

  1. 将产品添加到购物车中;和
  2. 用户将被定向到购物车页面
  3. 实现这一目标的最佳方法是什么?

    1. 更改此href?

      <?php the_permalink(); ?>
      
    2. 使用添加到购物车循环的标签替换产品的标签?

       <?php
         $args = array(
         'post_type' => 'product',
         'stock' => 1,
         'posts_per_page' => 4,
         'orderby' =>'date',
         'order' => 'DESC' );
         $loop = new WP_Query( $args );
         while ( $loop->have_posts() ) : $loop->the_post(); global    $product; ?>
         <div class="span3">
         <a id="id-<?php the_id(); ?>" href="<?php the_permalink(); ?>"      title="<?php the_title(); ?>">
         <?php if (has_post_thumbnail( $loop->post->ID )) echo    get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img   src="'.woocommerce_placeholder_img_src().'" alt="My Image Placeholder"   width="65px" height="115px" />'; ?>
         <h3><?php the_title(); ?></h3>
         <span class="price"><?php echo $product->get_price_html(); ?>   </span>
         </a>
         <?php woocommerce_template_loop_add_to_cart( $loop->post, $product ); ?>
         </div><!-- /span3 -->
        <?php endwhile; ?>
        <?php wp_reset_query(); ?>
      
    3. 更新

      将此网址href=”http://yourdomain.com/cart/?add-to-cart=25添加到“添加到购物车”按钮href,会将一个简单的产品添加到购物车,然后重定向到购物车。

      https://businessbloomer.com/woocommerce-custom-add-cart-urls-ultimate-guide/

      我仍然需要点击产品才能实现这一点,而不是点击“添加到购物车”按钮。

1 个答案:

答案 0 :(得分:0)

以下将做两件事:

  1. 将产品添加到购物车;和
  2. 将用户重定向到购物车
  3. 更新后的代码行:

    <a id="id-<?php the_id(); ?>" href="<?php site_url(); ?>/cart/?add-to-cart=<?php the_ID(); ?>" title="<?php the_title(); ?>">
    

    您的完整代码应该成为:

    <?php
    $args = array(
        'post_type' => 'product',
        'stock' => 1,
        'posts_per_page' => 4,
        'orderby' =>'date',
        'order' => 'DESC'
    );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
        <div class="span3">
            <!-- Line below is changed -->
            <a id="id-<?php the_id(); ?>" href="<?php site_url(); ?>/cart/?add-to-cart=<?php the_ID(); ?>" title="<?php the_title(); ?>">
                <?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="My Image Placeholder" width="65px" height="115px" />'; ?>
                <h3><?php the_title(); ?></h3>
                <span class="price"><?php echo $product->get_price_html(); ?>   </span>
            </a>
            <?php woocommerce_template_loop_add_to_cart( $loop->post, $product ); ?>
        </div><!-- /span3 -->
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>
    

    如果您不想显示“添加到购物车”按钮,则可以选择完全删除woocommerce_template_loop_add_to_cart()功能。

    此示例仅适用于简单产品。可变产品需要woocommerce_template_loop_add_to_cart()功能,以确保您可以在产品的可用变体之间进行选择。