[WordPress开发]如何修改“添加到购物车”按钮的文字和链接

最近无言开始研究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也完全不熟悉,基本都是照葫芦画瓢的。

如果有错误,请大家指正,谢谢!

为TA充电
人已赞赏
建站教程次元

[织梦建站]DEDE首页文章列表实现分页

2019-12-24 17:38:17

建站教程

WordPress开发-在WooCommerce插件中添加自定义字段

2020-2-11 12:23:29

无言资源博客
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索