在woocommerce结帐结果页面的“ wc-item-meta”列表中
我想在“ strong”和“ p”元素中添加id或class,以使用CSS进行控制。 (将文本更改为图像)
像p class =“ 01_S”,strong class =“ wc-item-meta-label 01_S”
有什么解决办法吗?
<ul class="wc-item-meta">
<li>
<strong class="wc-item-meta-label">sleeve :</strong>
<p>01_S</p>
</li>
<li>
<strong class="wc-item-meta-label">hood :</strong>
<p>02_M</p>
</li>
</ul>
答案 0 :(得分:1)
在活动主题的functions.php中使用以下代码片段实现以上目的-
function modify_woocommerce_display_item_meta( $html, $item, $args ) {
$strings = array();
$html = '';
foreach ( $item->get_formatted_meta_data() as $meta_id => $meta ) {
// remove strip tags
$display_value = wp_strip_all_tags( $meta->display_value );
$value = $args['autop'] ? wp_kses_post( $display_value ) : wp_kses_post( make_clickable( trim( $display_value ) ) );
$args['label_before'] = '<strong class="wc-item-meta-label ' . wp_strip_all_tags( $display_value ) . '">';
$args['label_after'] = ':</strong> ';
$strings[] = $args['label_before'] . wp_kses_post( $meta->display_key ) . $args['label_after'] . '<p class="' . wp_strip_all_tags( $display_value ) . '">' . $value . '</p>';
}
if ( $strings ) {
$html = $args['before'] . implode( $args['separator'], $strings ) . $args['after'];
}
return $html;
}
add_filter( 'woocommerce_display_item_meta', 'modify_woocommerce_display_item_meta', 99, 3 );