从WooCommerce中的产品属性中删除<p>标签

时间:2019-04-30 21:37:04

标签: php wordpress woocommerce product taxonomy-terms

WooCommerce会在重量和尺寸之后自动向所有产品属性添加<p>标签。这意味着产品属性的格式在前两行之后会发生变化。

我相信下面的代码(从wc-template-functions.php中提取)是自动添加<p>的地方,但是我不知道如何在不编辑wc-template的情况下删除wpautop -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 ),
        );

2 个答案:

答案 0 :(得分:0)

怎么样...

str_ireplace(array('<p>','</p>'),'',wpautop( wptexturize( implode( ', ', $values ) ) ) )

答案 1 :(得分:0)

只需使用可用的过滤器钩子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文件中。经过测试,可以正常工作。