添加过滤器以替换echo中部分字符串的正确方法是什么?
函数是这样的:
function woocommerce_template_loop_product_title() {
echo '<h3>' . get_the_title() . '</h3>';
}
我试图实现这在我的函数。php:
add_filter( 'woocommerce_template_loop_product_title', 'product_title_mod');
function product_title_mod($str) {
return str_replace ('h3','h2',$str);
}
但这并不影响h3值,过滤这些值的最佳方法是什么?
function
应该是return
的值,所以你可以直接使用它或echo
的值:
add_filter( 'woocommerce_template_loop_product_title', 'product_title_mod');
// option 1
function product_title_mod($str) {
return str_replace("h3","h2",$str);
}
// option 2
function product_title_mod($str) {
echo str_replace("h3","h2",$str);
}
不完全确定wordpress过滤器是如何工作的,但我想你不能实现你想要的,因为woocommerce_template_loop_product_title
函数echo
直接产生