javascript-WooCommerce删除添加到产品简短说明中的自定义jQuery代码

我正在使用WordPress WooCommerce开发一个电子商务网站.

我在“简短说明”字段中为某些产品添加了按钮,以便快速选择要在购物车中添加的特定数量的产品(这是因为我有不同的报价,例如:“以3的价格购买4”).

我在一般的jquery文件中有一个这样的脚本:

<script>
    function pack4() { document.getElementById("quantity").value = "4"; }
    function pack8() { document.getElementById("quantity").value = "8"; }
</script>

这是我在某些产品中具有的代码示例简短说明:

<span><strong>4x3 Pack:</strong>TOTAL<strong>$1800</strong></span>
<button class="select" onclick="pack4()">Select</button>

一切正常,每当您单击每个按钮时,订购数量都会添加相应的编号.

问题是:每当我的客户(通常编辑产品的客户)单击“简短描述”的“文本/视觉”翻盖时,onclick =“ pack4()”代码就会消失.我猜WordPress / WooCommerce有一些jQuery过滤器,可删除此类代码.我需要它停止这样做,因为客户端会定期编辑内容(当然,他们对编码一无所知).否则,我必须每次都再次添加代码.

我还怀疑WP / WC也可以过滤它,而无需单击此Text / Visual面板(但是我对此可能有误).

有人知道该怎么办吗?
谢谢!

解决方法:

最简单准确的方法是通过以下方式创建自定义简码:

if( !function_exists('display_product_button_pack') ) {

    function display_product_button_pack( $atts ) {

        // Shortcode Attributes
        $atts = shortcode_atts(
            array(
                'pack' => '4', // default pack is 4
            ),
            $atts,
            'button_pack'
        );

        $output = '<button class="select" onclick="pack'.$atts['pack'].'()">Select</button>';

        return $output;

    }

    add_shortcode( 'button_pack', 'display_product_button_pack' );
}

代码在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中.

该代码已经过测试并且可以工作.

用法:

您的简码中有一个可选的pack参数,默认值为4…

例如,对于Pack 8,您将其插入简短描述产品编辑器中:

[button_pack pack="8"]

这将输出此html:

<button class="select" onclick="pack8()">Select</button>

对于Pack 4,因为默认参数值已经是4,您可以使用以下命令:

[button_pack]
上一篇:php-根据WooCommerce购物车项目库存显示估计的交货日期范围


下一篇:php-将产品自定义字段单选按钮值保存在购物车中并将其显示在购物车页面上