我正在使用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也可以过滤它而不需要点击这个文本/视觉翻盖(但我可能错了)。
任何人都知道该怎么做? 谢谢!
答案 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]