【发布时间】:2016-01-26 15:55:28
【问题描述】:
问题是,使用高级自定义字段时,我必须检索添加到每个产品页面中自定义字段的链接,这样,当用户点击“添加到购物车”时,它会将他发送到自定义中提供的网页字段。
我似乎以不同的方式尝试它,例如 https://docs.woothemes.com/document/override-loop-template-and-show-quantities-next-to-add-to-cart-buttons 。那里的问题是模板路径被忽略了。我按照上面所说的那样做了:wp-content/themes/YOUR-THEME/woocommerce/loop/add-to-cart.php - WooCommerce 真的忽略了模板!
用一些垃圾回声测试,没有任何显示,这只能意味着模板被忽略。 add-to-cart.php 中的代码在这里http://pastebin.com/hLhwWggh
该模板被完全忽略,我不知道该怎么办。也许有些东西在模板本身中不起作用?
【问题讨论】:
-
对我来说,
my-theme/woocommerce/loop/add-to-cart.php覆盖就好了。我的商店循环显示Fatal error: Call to undefined function get_field(),因为我没有安装 ACF。需要检查两件事:您的主题和插件正在修改主题的文件夹名称......默认情况下它是woocommerce,但可以更改。此外,在 WooCommerce>System Status>Tools 下,确保 not 选中“Template Debug Mode”。 -
另外,这可能有点迂腐,但 WooCommerce 有一个名为“external”的产品类型,它将添加到购物车按钮重定向到外部 url,这听起来与您正在做的完全一样。
-
@helgatheviking 在系统状态中发现,该模板已过时。更新了,所以我现在只剩下:pastebin.com/5hqbBUmX,将 esc_url( $product->add_to_cart_url() ) 更改为 esc_url(get_field('buy_link')) ,仍然不起作用, - 发送回产品页面并显示它已添加到购物车。
-
并且模板调试模式被禁用。
-
仍然没有找到解决方案为什么甚至不使用该模板,即使它似乎覆盖了来自 woocommerce 插件模板的模板。甚至可以做一个语法错误,仍然 - 什么都没有。
标签: php wordpress woocommerce