WooCommerce删除我添加到产品简短描述的自定义jQuery代码

时间:2017-07-19 02:55:28

标签: javascript php jquery wordpress woocommerce

我正在使用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也可以过滤它而不需要点击这个文本/视觉翻盖(但我可能错了)。

任何人都知道该怎么做? 谢谢!

1 个答案:

答案 0 :(得分:3)

最简单准确的方法是以这种方式创建自定义短代码:

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文件中,或者放在任何插件文件中。

代码经过测试并有效。

<强> USAGE:

您的短代码中有一个可选的 pack 参数,其默认值为 4 ......

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

[button_pack pack="8"]

这将输出此html:

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

对于Pack 4,由于默认参数值已经为4,您只需使用它:

[button_pack]