Forked from isabelc/isa-check-if-woocommerce-pa-is-tax
Created
January 7, 2016 13:47
-
-
Save quasel/e68b6d93254d3f1bc895 to your computer and use it in GitHub Desktop.
Check if your WooCommerce custom product attributes are taxonomies. This will show custom product attributes on your product page above the Add to Cart button. THIS WILL ALSO SHOW A NOTICE ON THE PRODUCT PAGE RIGHT UNDER THE ATTRIBUTES. THE NOTICE WILL EITHER SAY: "These ARE taxonomies." or "NOT a taxonomy."
This file contains hidden or 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
/** | |
* Check if your WooCommerce custom product attributes are taxonomies. | |
* | |
* This will show custom product attributes on your product page | |
* above the Add to Cart button. | |
* | |
* THIS WILL ALSO SHOW A NOTICE ON THE PRODUCT PAGE | |
* RIGHT UNDER THE ATTRIBUTES. | |
* | |
* THE NOTICE WILL EITHER SAY: | |
* | |
* "These ARE taxonomies." | |
* | |
* or | |
* | |
* "NOT a taxonomy." | |
* | |
*/ | |
function isa_check_if_woocommerce_pa_is_taxonomy(){ | |
global $product; | |
$attributes = $product->get_attributes(); | |
if ( ! $attributes ) { | |
return; | |
} | |
$out = ''; | |
foreach ( $attributes as $attribute ) { | |
// skip variations | |
if ( $attribute['is_variation'] ) { | |
continue; | |
} | |
if ( $attribute['is_taxonomy'] ) { | |
$terms = wp_get_post_terms( $product->id, $attribute['name'], 'all' ); | |
// get the taxonomy | |
$tax = $terms[0]->taxonomy; | |
// get the tax object | |
$tax_object = get_taxonomy($tax); | |
// get tax label | |
if ( isset ($tax_object->labels->name) ) { | |
$tax_label = $tax_object->labels->name; | |
} elseif ( isset( $tax_object->label ) ) { | |
$tax_label = $tax_object->label; | |
} | |
foreach ( $terms as $term ) { | |
$out .= $tax_label . ': '; | |
$out .= $term->name . '<br />'; | |
} | |
/* | |
*************************************** | |
Begin @test | |
*************************************** | |
*/ | |
$out .= '<div style="margin: 8px;padding:8px; color: #4F8A10;background-color: #DFF2BF">These ARE taxonomies.</div>'; | |
/* | |
*************************************** | |
end @test | |
*************************************** | |
*/ | |
} else { | |
$out .= $attribute['name'] . ': '; | |
$out .= $attribute['value'] . '<br />'; | |
/* | |
*************************************** | |
Begin @test | |
*************************************** | |
*/ | |
$out .= '<div style="margin: 8px;padding:8px; color: #D8000C;background-color: #FFBABA">NOT a taxonomy.</div>'; | |
/* | |
*************************************** | |
end @test | |
*************************************** | |
*/ | |
} | |
} | |
echo $out; | |
} | |
add_action('woocommerce_single_product_summary', 'isa_check_if_woocommerce_pa_is_taxonomy', 25); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment