Содержание
Этот сниппет позволяет вывести ссылки на архивы значений атрибутов товара WooCommerce прямо на странице товара, сразу под кнопкой «Добавить в корзину».
Каждое значение атрибута (например, цвет или размер) будет отображаться как ссылка, ведущая на страницу архива этого значения.
Как добавить код
Добавьте этот код в файл functions.php дочерней темы или используйте плагин для вставки сниппетов, например Code Snippets.
Не рекомендуется добавлять код в родительскую тему, так как он будет удалён при обновлении.
Код сниппета
/**
* Display product attribute archive links
*/
add_action( 'woocommerce_product_meta_end', 'wc_show_attribute_links' );
// if you'd like to show it on archive page, replace "woocommerce_product_meta_end" with "woocommerce_shop_loop_item_title"
function wc_show_attribute_links() {
global $post;
$attribute_names = array( '<ATTRIBUTE_NAME>', '<ANOTHER_ATTRIBUTE_NAME>' ); // Add attribute names here and remember to add the pa_ prefix to the attribute name
foreach ( $attribute_names as $attribute_name ) {
$taxonomy = get_taxonomy( $attribute_name );
if ( $taxonomy && ! is_wp_error( $taxonomy ) ) {
$terms = wp_get_post_terms( $post->ID, $attribute_name );
$terms_array = array();
if ( ! empty( $terms ) ) {
foreach ( $terms as $term ) {
$archive_link = get_term_link( $term->slug, $attribute_name );
$full_line = '<a href="' . $archive_link . '">'. $term->name . '</a>';
array_push( $terms_array, $full_line );
}
echo $taxonomy->labels->name . ': ' . implode( ', ' . $terms_array );
}
}
}
} Важно
Не забудьте, что названия атрибутов должны использовать префикс pa_.
Пример: pa_color (цвет), pa_size (размер).
Если вы хотите вывести ссылки на странице каталога товаров, используйте хук:
add_action( 'woocommerce_shop_loop_item_title', 'wc_show_attribute_links' ); 