【问题标题】:how to add add-to-cart button into custom href link using woocommerce如何使用 woocommerce 将添加到购物车按钮添加到自定义 href 链接中
【发布时间】:2016-01-18 06:39:40
【问题描述】:

我正在为 woo-commerce 产品页面使用自定义模板,这里显示所有产品名称和产品奖品。现在我想添加带有产品奖品链接的 woocommerce 添加到购物车选项。有没有办法使这项工作?谢谢你的帮助。

<?php
    $args = array( 'post_type' => 'product', 
                    'posts_per_page' => 5, 
                    'post_status' =>'any',
                    'order' => 'ASC'
                ); 
                 $allProduct = get_posts( $args );
                 if ( $allProduct ) {
                 foreach ( $allProduct as $products ) { ?>

<ul>
    <li class="product_name"><a href=""><?php  echo apply_filters( 'the_title' , $products->post_title ); ?></li>
    <li class="product_prize"><a href="ADD-TO-CART-URL"><span class="pdfIconSmall">&nbsp;</span></i>Purchase PDF - 
     <?php $price = get_post_meta( $products->ID, '_regular_price', true);
        echo "$ ",$price;
         ?></a>
    </li>
</ul>

<?php 
  }
   } ?>

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    对于动态添加到购物车,您需要 AJAX,但如果您只想显示购物车(包含小部件),您可以添加:

    <?php if( in_array('woocommerce/woocommerce.php', get_option('active_plugins')) ):?>
        <div id="shop_links" class="cart_right"><?php _e('Cart:','your_theme_slug') ?>
            <a class="link_cart" href="<?php echo esc_url($woocommerce->cart->get_cart_url()); ?>">
                <span>
                <?php
                    echo '<span class="items_count">' . $woocommerce->cart->cart_contents_count . '</span> ' ._n('item', 'items',  $woocommerce->cart->cart_contents_count ,'your_theme_slug') . ' ' . '&mdash; ' . $woocommerce->cart->get_cart_total() ;
                ?>
                </span>
                <i class="icon-shopping-cart"></i>
            </a>
            <div class="cart_dropdown_widget">
                <?php the_widget('WC_Widget_Cart'); ?>
            </div>
        </div>
    <?php endif; ?>
    

    用一些js进行过渡:

    var menu_cart = $('#shop_links'), subelement = menu_cart.find('.cart_dropdown_widget').css({display:'none', opacity: 0});
    
    menu_cart.hover(
        function(){
            subelement.css({display:'block'}).stop().animate({opacity:1});
        },
        function(){
            subelement.stop().animate({opacity:0}, function(){
                subelement.css({display:'none'});
            });
        }
    );
    

    样式由您决定。

    希望对你有帮助

    【讨论】:

      【解决方案2】:
      <?php echo get_site_url()."?add-to-cart=".esc_attr($loop->post->ID); ?>
      

      【讨论】:

      • 您好,欢迎来到 stackoverflow,感谢您的回答。虽然这段代码可能会回答这个问题,但您是否可以考虑添加一些解释来说明您解决了什么问题,以及您是如何解决的?这将有助于未来的读者更好地理解您的答案并从中学习。
      猜你喜欢
      • 2016-07-18
      • 1970-01-01
      • 2015-12-04
      • 2016-10-21
      • 2016-09-05
      • 2021-04-21
      • 2020-09-01
      • 2015-01-03
      • 2018-10-30
      相关资源
      最近更新 更多