Last active
September 1, 2022 14:01
-
-
Save woogists/13939b07ec145fb06cf8b1b51a8a035b to your computer and use it in GitHub Desktop.
[General Snippets] Display product attribute archive links
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 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 ); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
on some localisations (eg. RO) it shows PRODUCT 'ATTRIBUTE NAME' and then the value, instead of just ATTRIBUTE NAME + value.
A solution to this is using:
$taxonomy->labels->singular_name
instead of
$taxonomy->labels->name
also I do recommend using
<p>
wrappers for SEO purposes