从 WooCommerce 中的产品属性中删除 <p> 标签
Remove <p> tags from product attributes in WooCommerce
WooCommerce 会在重量和尺寸之后自动为所有产品属性添加一个 <p>
标签。这意味着产品属性的格式在前两行之后发生了变化。
我相信下面的代码(从 wc-template-functions.php 中提取)是自动添加 <p>
的地方,但是我不知道如何在没有的情况下删除 wpautop
直接编辑 wc-template-functions.php。我相信这可以与某种过滤器一起应用。任何有关如何删除它的帮助将不胜感激。
$product_attributes[ 'attribute_' . sanitize_title_with_dashes( $attribute->get_name() ) ] = array(
'label' => wc_attribute_label( $attribute->get_name() ),
'value' => apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values ),
);
这个怎么样...
str_ireplace(array('<p>','</p>'),'',wpautop( wptexturize( implode( ', ', $values ) ) ) )
只需使用可用的筛选器挂钩 woocommerce_attribute
删除 wpautop()
如:
add_filter( 'woocommerce_attribute', 'woocommerce_attribute_filter_callback', 10, 3 );
function woocommerce_attribute_filter_callback( $formatted_values, $attribute, $values ) {
return wptexturize( implode( ', ', $values ) );
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
WooCommerce 会在重量和尺寸之后自动为所有产品属性添加一个 <p>
标签。这意味着产品属性的格式在前两行之后发生了变化。
我相信下面的代码(从 wc-template-functions.php 中提取)是自动添加 <p>
的地方,但是我不知道如何在没有的情况下删除 wpautop
直接编辑 wc-template-functions.php。我相信这可以与某种过滤器一起应用。任何有关如何删除它的帮助将不胜感激。
$product_attributes[ 'attribute_' . sanitize_title_with_dashes( $attribute->get_name() ) ] = array(
'label' => wc_attribute_label( $attribute->get_name() ),
'value' => apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values ),
);
这个怎么样...
str_ireplace(array('<p>','</p>'),'',wpautop( wptexturize( implode( ', ', $values ) ) ) )
只需使用可用的筛选器挂钩 woocommerce_attribute
删除 wpautop()
如:
add_filter( 'woocommerce_attribute', 'woocommerce_attribute_filter_callback', 10, 3 );
function woocommerce_attribute_filter_callback( $formatted_values, $attribute, $values ) {
return wptexturize( implode( ', ', $values ) );
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。