Отображение для определенного атрибута продукта WooCommerce списка терминов на странице
В Woocommerce я пытаюсь создать простую страницу со всеми брендами, которые у меня есть из атрибута продукта pa_brand
, Но я не нашел правильный способ сделать это.
Таким образом, эта страница должна отображать связанные названия брендов в виде списка.
Любой трек будет оценен?
1 ответ
Вот пользовательская функция шорткода, которая выведет список имен связанных терминов для атрибута продукта "pa_brand". Его можно использовать на любой странице или в посте, используя текстовый редактор содержимого Wordpress или в коде php:
add_shortcode( 'product_attribute_list', 'shortcode_product_attribute_list' );
function shortcode_product_attribute_list( $atts ) {
// Shortcode Attributes
$atts = shortcode_atts( array(
'taxonomy' => 'pa_brand',
'orderby' => 'name',
'hide_empty' => false,
), $atts, 'product_attribute_list' );
$terms = get_terms( array(
'taxonomy' => $atts['taxonomy'],
'orderby' => $atts['orderby'],
'hide_empty' => $atts['hide_empty'],
) );
$html = '<ul class="' . $atts['taxonomy'] . ' brands">';
// Loop through the taxonomy terms
foreach( $terms as $term ){
$html .= '<li><a href="' . get_term_link( $term, $atts['taxonomy'] ) . '">' . $term->name . '</a></li>';
}
return $html . '</ul>'; // Return the output
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Пример использования:
1) Внутри страницы или публикации текстового редактора (или текстового виджета):
[product_attribute_list]
2) На php шаблон или код:
echo do_shortcode("[product_attribute_list]");
Вам нужно будет только добавить некоторые правила CSS в файл styles.css вашей активной темы, чтобы получить желаемый дизайн.