最近无言开始研究wordpress开发主题,使用WooCommerce商城插件时,发现产品列表页和详情页都显示的是“添加到购物车”。
如果不想制作购物车页面呢?只需要一个产品展示页面,购买页面联系站长或者跳转到其他商城购买,这应该如何修改呢?
修改产品列表中的按钮文字
这个比较简单,直接在当前主题中的function.php中加入下方代码即可
代码中的Quick View就是需要修改的地方,这里可以修改成任意文字,不局限英文。
add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' ); function woo_archive_custom_cart_button_text() { return __( 'Quick View', 'woocommerce' ); }
修改产品列表中的按钮链接
在WooCommerce商城插件中,按钮的作用时跳转到购物车,前文提到不想要购物车,那么我们就应该让产品列表内的产品跳转到产品详情中。
同样是加入到当前主题中的function.php中,下方没有著名具体放入那个文件中的代码,均为当前主题中的function.php中
//修改产品列表页面上的添加到购物车按钮上的文字2.1 + add_filter( 'woocommerce_product_add_to_cart_url', 'woo_amazon_link' ); function woo_amazon_link() { return __( 'http://www.xxx.net', 'woocommerce' ); }
修改产品详情的按钮文字
add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); function woo_custom_cart_button_text() { return __( 'Amazon Buy', 'woocommerce' ); }
产品详情中的指向链接
add_action( 'woocommerce_add_to_cart_form_action', 'woo_amazon_link' ); function woo_amazon_link(){ $amazon_link = get_post_meta( get_the_ID(), 'amazon_link', true ); return __( $amazon_link, 'woocommerce' ); }
产品详情中的指向链接是由form标签中的action控制的,但是action无法指向外链,所以还需要修改一下,无言的做法是把button按钮改成了a标签。
修改woocommerce插件中的代码,文件路径:修改plugins/woocommerce/templates/single-product/add-to-cart/simple.php
将button标签内容隐藏或删除 <button type="submit" name="add-to-cart" value="<?php echo esc_attr( $product->get_id() ); ?>" class="single_add_to_cart_button button alt"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button> 将此段a标签复制到button标签下 <a href="<?php echo esc_url( apply_filters( 'woocommerce_add_to_cart_form_action', $product->get_permalink() ) ); ?>" type="submit" name="add-to-cart" value="<?php echo esc_attr( $product->get_id() ); ?>" class="single_add_to_cart_button button alt" style="float: left;text-align: center;"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></a>
本文中的$amazon_link就是购物链接,无言是让产品购买跳转到亚马逊,而这个链接后台如何显示将放到下文介绍。
$amazon_link = get_post_meta( get_the_ID(), 'amazon_link', true );
无言的这个方法可能过于低级和繁琐,毕竟是刚开始学的,无言对php也完全不熟悉,基本都是照葫芦画瓢的。
如果有错误,请大家指正,谢谢!