所有的$product->get_price_html();
产品都是这样的:
<del><span class="amount">£8.00</span>–<span class="amount">£9.00</span></del>
<ins><span class="amount">£7.00</span>–<span class="amount">£8.00</span></ins>
要操作此数据,您必须从该字符串中提取它
如果您使用 WP 过滤器 - 您将get_price_html()
在任何地方更改输出,如果您get_price_html()
只需要在一个地方更改输出,您应该执行以下操作:
global $product;
$price_html = $product->get_price_html();
$price_html_array = price_array($price_html);
function price_array($price){
$del = array('<span class="amount">', '</span>','<del>','<ins>');
$price = str_replace($del, '', $price);
$price = str_replace('</del>', '|', $price);
$price = str_replace('</ins>', '|', $price);
$price_arr = explode('|', $price);
$price_arr = array_filter($price_arr);
return $price_arr;
}
现在你在数组中有相同的数据
Array ( [0] => £8.00–£9.00 [1] => £7.00–£8.00 )
你可以用它做任何你想做的事
要应用全局过滤器,您必须添加
add_filter( 'woocommerce_get_price_html', 'price_array', 100, 2 );