例如文件get_price_html_from_to()
plugins/woocommerce/includes/abstracts/abstract-wc-product.php
public function get_price_html_from_to( $from, $to ) {
return '<del>' . ( ( is_numeric( $from ) ) ? wc_price( $from ) : $from ) . '</del> <ins>' . ( ( is_numeric( $to ) ) ? wc_price( $to ) : $to ) . '</ins>';
}
如果不进入文件本身并更改它,我该如何更改该字符串?
是否可以创建我自己的abstract-wc-product.php
文件,并在文件而不是原始文件中指向wordpress / woo?还是有办法简单地删除&amp;用我自己的功能替换功能?或者只是在它被使用之前改变它的字符串?
答案 0 :(得分:3)
我认为您可以开展此工作的一种方法是在包含get_price_html_from_to( $from, $to )
文件之前声明新函数abstract-wc-product.php
。
然后进入abstract-wc-product.php
文件并在函数的get_price_html_from_to( $from, $to )
定义附近添加此代码:
if ( ! function_exists( 'get_price_html_from_to' ) )
public function get_price_html_from_to( $from, $to ) {
return '<del>' . ( ( is_numeric( $from ) ) ? wc_price( $from ) : $from ) . '</del> <ins>' . ( ( is_numeric( $to ) ) ? wc_price( $to ) : $to ) . '</ins>';
}
}
虽然这需要你进入文件并实际更改它..但实际上稍微。
答案 1 :(得分:1)
不要更改模板,因为一旦有更新,您将丢失更改。而是将您的方法添加到过滤器:
dd_filter( 'woocommerce_get_price_html', 'your_function_name', 100, 2 );
function your_function_name( $price, $product ){
return 'Was:' . str_replace( '<ins>', ' Now:<ins>', $price );
}