-
-
Save mattiasghodsian/14b9b9960bc3bc2103580e7300718175 to your computer and use it in GitHub Desktop.
/** | |
* Title: Woocommerce Get product attributes | |
* Author: Mattias Ghodsian | |
* Description: Get product attributes in a simple way (array) | |
* Donate a cup of coffee: https://www.buymeacoffee.com/mattiasghodsian | |
* Donate Eth: 0xBBB96204E45D11C9799c6B12E6eE6F0d4A071Ef5 | |
* | |
* @param integer $postID | |
* return array | |
**/ | |
function wooGetProductAttributes($postID = "") { | |
global $woocommerce, $post, $product; | |
$oldAttr = get_post_meta($product->id); | |
if (array_key_exists('_product_attributes', $oldAttr) && !empty($oldAttr["_product_attributes"][0])) { | |
$oldAttr = unserialize( $oldAttr["_product_attributes"][0] ); | |
$newAttr = []; | |
if (empty($postID)) { | |
$postID = $post->ID; | |
} | |
foreach ($oldAttr as $key => $attr) { | |
foreach ( get_the_terms($postID, $attr['name']) as $key => $term) { | |
$term->url = get_term_link($term->term_id, $term->taxonomy); | |
$newAttr[$term->taxonomy][$term->slug] = (array)$term; | |
} | |
} | |
return $newAttr; | |
}else{ | |
return false; | |
} | |
} |
Hola, disculpa, como podria obtener todos los terminos de un atributo, ejemplo, marcas y mostrarlos con un shortcode?
Hi, how to can get all terms of attribute, example, marks, and show with short code?
Sorry, i learning english :/
This snippet returns all the attributes, you will need to create a shortcode with witch data you would like to display
Example (not tested):
function custom_get_woo_attr( $atts ) {
$a = shortcode_atts( array(
'product_id' => 32,
'taxonomy' => '',
'slug' => '',
), $atts );
$productAttrs = wooGetProductAttributes($a['product_id']);
return $productAttrs[ $a['taxonomy'] ][ $a['slug'] ];
}
add_shortcode( 'cgwa', 'custom_get_woo_attr' );
And then call it something like this [cgwa product_id="32" taxonomy="" slug=""]
Hello!!! =D How can I get the specific value of an attribute to create a conditional later in the checkout page, what I want is that depending on the value it shows me some data or others
Thank you very much
Hello!!! =D How can I get the specific value of an attribute to create a conditional later in the checkout page, what I want is that depending on the value it shows me some data or others
Thank you very much
Haave a look at
wc_get_product_terms( $product->id, 'pa_size', array( 'fields' => 'names' ) )
global $product;
$koostis = $product->get_attribute( 'pa_koostis' );
Hola, disculpa, como podria obtener todos los terminos de un atributo, ejemplo, marcas y mostrarlos con un shortcode?
Hi, how to can get all terms of attribute, example, marks, and show with short code?
Sorry, i learning english :/