Pour mes pages de produit WC, je dois ajouter une classe à la balise body afin de pouvoir personnaliser le style. Voici la fonction que je crée pour cela ...
function my_add_woo_cat_class($classes) {
$wooCatIdForThisProduct = "?????"; //help!
// add 'class-name' to the $classes array
$classes[] = 'my-woo-cat-id-' . $wooCatIdForThisProduct;
// return the $classes array
return $classes;
}
//If we're showing a WC product page
if (is_product()) {
// Add specific CSS class by filter
add_filter('body_class','my_add_woo_cat_class');
}
... mais comment puis-je obtenir l'identifiant de chat WooCommerce?
Un produit de WC ne peut appartenir à aucune, à une ou plusieurs catégories de WC. Supposons que vous souhaitiez simplement obtenir un identifiant de catégorie de WC.
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );
foreach ($terms as $term) {
$product_cat_id = $term->term_id;
break;
}
Consultez le fichier meta.php dans le dossier "templates/single-product /" du plug-in WooCommerce.
<?php echo $product->get_categories( ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', sizeof( get_the_terms( $post->ID, 'product_cat' ) ), 'woocommerce' ) . ' ', '.</span>' ); ?>
J'ai littéralement rayé cette ligne de code de content-single-popup.php situé dans le dossier woocommerce de mon répertoire de thèmes.
global $product;
echo $product->get_categories( ', ', ' ' . _n( ' ', ' ', $cat_count, 'woocommerce' ) . ' ', ' ' );
Depuis que mon thème sur lequel je travaille a intégré le commerce virtuel, c’était ma solution.
$product->get_categories()
est obsolète depuis la version 3.0! Utilisation wc_get_product_category_list
au lieu.
https://docs.woocommerce.com/wc-apidocs/function-wc_get_product_category_list.html
Merci Box. J'utilise le thème MyStile et je devais afficher le nom de la catégorie de produit dans la page de résultats de recherche. J'ai ajouté cette fonction à mon thème enfant functions.php
J'espère que ça aide les autres.
/* Post Meta */
if (!function_exists( 'woo_post_meta')) {
function woo_post_meta( ) {
global $woo_options;
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );
foreach ($terms as $term) {
$product_cat = $term->name;
break;
}
?>
<aside class="post-meta">
<ul>
<li class="post-category">
<?php the_category( ', ', $post->ID) ?>
<?php echo $product_cat; ?>
</li>
<?php the_tags( '<li class="tags">', ', ', '</li>' ); ?>
<?php if ( isset( $woo_options['woo_post_content'] ) && $woo_options['woo_post_content'] == 'excerpt' ) { ?>
<li class="comments"><?php comments_popup_link( __( 'Leave a comment', 'woothemes' ), __( '1 Comment', 'woothemes' ), __( '% Comments', 'woothemes' ) ); ?></li>
<?php } ?>
<?php edit_post_link( __( 'Edit', 'woothemes' ), '<li class="edit">', '</li>' ); ?>
</ul>
</aside>
<?php
}
}
?>