WooCommerce автоматически добавляет тег <p>
ко всем атрибутам товара после веса и размеров. Это означает, что форматирование атрибутов товара меняется после первых 2-х строк.
Я полагаю, что в приведенном ниже коде (из 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 ),
);
🤔 А знаете ли вы, что...
PHP активно обновляется и совершенствуется, чтобы соответствовать современным стандартам.
Как насчет этого...
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 вашей активной дочерней темы (или активной темы). Проверено и работает.