从 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 文件。已测试并有效。