2017-07-19 69 views
3

我正在用WordPress + WooCommerce开发电子商务网站。WooCommerce删除我添加到产品的自定义jQuery代码简短说明

我在简短字段中的某些产品上添加了按钮,以便快速选择要添加到购物车中的特定数量的产品(这是因为我有不同的优惠,例如:“以3 “)。

我在一般的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也会过滤它而不需要点击这个文本/视觉翻盖(但我可能是错的)。

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

回答

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文件或也以任何插件文件。

该代码已经过测试和工作。


用法:

。在你的短代码,其默认值为4可选pack说法......

为了您包8例如,你会将其插入到简短说明产品编辑器中:

[button_pack pack="8"] 

这将输出这个网站:

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

对于Pack 4的默认参数值已经4你只需要使用这样的:

[button_pack] 

+0

天才,这是完美的,它的工作!解决了,非常感谢! –

相关问题