Здравствуйте.
Есть
сайт
Видите, внизу страницы есть "Свойства" и там выводяться атрибуты от сюда
Задача: реализовать такую фишку, чтобы при нажатии на "
Коллекция 1" в Коллекции, мы попадали в раздел каталога
Коллекция-1, по заданному атрибуту.
Пример реализации на стороннем сайте.
Вопрос: как это реализовать? скорее всего в файле
product-attributes.php
нужно поставить задачу на то, чтобы водпресс выдал мне значение ссылки атрибутов, которые выводятся, и я смог этот параметр заключить в
<a href=""
Может кто сталкивался. Помогите. Очень важен Вашет ответ, или даже лучше помощь в решении.
-------------
Ответ найден.
Замените
<td><?php
if ( $attribute['is_taxonomy'] ) {
$values = wc_get_product_terms( $product->id, $attribute['name'], array( 'fields' => 'names' ) );
echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
} else {
// Convert pipes to commas and display values
$values = array_map( 'trim', explode( WC_DELIMITER, $attribute['value'] ) );
echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
}
?></td>
на
<td><?php
if ( $attribute['is_taxonomy'] ) {
// $values = woocommerce_get_product_terms( $product->id, $attribute['name'], 'names' );
// echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
//https://gist.github.com/coenjacobs/2594985
global $post;
$attribute_names = $attribute;
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 '<p>'. implode( $terms_array, ', ' ) . '</p>';
}
}
}
} else {
// Convert pipes to commas and display values
$values = array_map( 'trim', explode( '|', $attribute['value'] ) );
echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
}
?></td>