Javascript PHP与商业问题

Javascript PHP与商业问题,javascript,php,woocommerce,Javascript,Php,Woocommerce,如果您熟悉WooCommerce,您可能知道我们有一个[add_to_cart id=“product_id”]快捷码,可以自动将给定产品id的项目添加到购物车中 当我在html代码中给出特定的ID时,这很好,但我希望它是自动化的,例如从cookie中获取ID 问题是,使用JavaScript无法获取函数,因为它必须来自服务器端,但我已经喃喃自语了几个小时,而PHP却一无所获 我能做什么 编辑1: 我所拥有的是: document.addEventListener('DOMContentLoad

如果您熟悉WooCommerce,您可能知道我们有一个
[add_to_cart id=“product_id”]
快捷码,可以自动将给定
产品id的项目添加到购物车中

当我在html代码中给出特定的ID时,这很好,但我希望它是自动化的,例如从cookie中获取ID

问题是,使用JavaScript无法获取函数,因为它必须来自服务器端,但我已经喃喃自语了几个小时,而PHP却一无所获

我能做什么

编辑1:

我所拥有的是:

document.addEventListener('DOMContentLoaded', function () {
  document.getElementById('test').innerHTML= '[add_to_cart id="4158"]';
})

这是行不通的。与Cookie不友好。

关于如何检索产品ID,您没有提供足够的信息,但一旦获得了产品ID,您可以使用
do_shortcode()
自动将其插入到短代码中:

if( isset( $_COOKIE['product_id'] ) ) {
   $product_id = $_COOKIE['product_id']; // Get this from your cookie somehow
   $shortcode = sprintf( '[add_to_cart id="%d"]', $product_id );
   echo do_shortcode( $shortcode );
}

通过向服务器发送AJAX请求解决了这个问题,服务器发送了我所有的产品信息,然后用

do_shortcode()

函数,我可以将答案写入一些html元素中,以查看我需要的按钮。

您可以尝试修改该函数,我发现它使用wordpress短代码,Woocomece在此处注册其add_to_cart短代码。我没有使用Woocomece的经验,所以我不知道,但是,如果除了在原始源代码中修改此功能之外,还有其他方法可以覆盖此功能,这将是一个很好的方法,因此任何更新都不会覆盖它或其他内容。您可以通过使用四个空格缩进或使用
{}
按钮格式化代码。backtick方法最适合于段落中的短代码片段,而不是孤立地使用。这是我需要的,也是我尝试过的,但没有任何结果。仅当我硬编码idSo时,您是否未正确设置/检索cookie中的ID?我建议你用你正在使用的东西来编辑你的问题。