PHP和WooCommerce问题
如果您有任何人对WooCommerce很熟悉,您可能知道我们有一个[add_to_cart id="product_id"]
简码可自动将给定的product_id
添加到购物车中。PHP和WooCommerce问题
虽然我在html代码中给出了具体的ID,但是我希望它可以自动化,例如从cookie中获取ID,这很好。
这样做的问题是,使用JavaScript是不可能得到的功能,因为它来自于服务器端,但我一直在喃喃自语了几个小时,并用PHP还是一无所获......
什么可以我做?
编辑1:
我有什么如下:
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('test').innerHTML= '[add_to_cart id="4158"]';
})
,这是行不通的。尽管如此,还是有饼干的。
解决这个问题有AJAX请求到服务器发送的所有产品信息我有,它再与
do_shortcode()
功能回答我能这个问题的答案写入一些HTML元素,以查看我需要的按钮。
你不给你需要如何检索产品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);
}
这就是我所需要的和我所尝试的,但没有出现。 只有当我硬编码id –
那么你没有正确地设置/检索你的cookie的ID?我建议你用你正在使用的东西编辑你的问题。 – helgatheviking
你可以尝试修改的功能,我发现它使用WordPress的简码和woocomerce这里https://github.com/woocommerce/woocommerce/blob/8ffbd331e0d5694045aec164f027928b43053130/includes/class-wc-shortcodes.php注册其add_to_cart短代码#L296我没有使用woocomerce的经验,所以我不知道,但如果有其他方法来覆盖这个功能,而不是在原始源代码中修改它,那么这将是一条路,所以任何更新都不会覆盖它。 –
您可以通过使用四个空格缩进或使用'{}'按钮来格式化代码。反编译方法最适合于段落中的短代码片段,而不是孤立的。 – tadman