Stampare la categoria prodotto di woocommerce come classe nel body quando visiti un prodotto singolo

Con questa funzione puoi stampare tra le classi del body la categoria del prodotto singolo di woocommerce. Per funzionare basta copiare e incollare la funziona nel file functions.php

function sg_wooc_custom_taxonomy_in_body_class( $classes ){
  if( is_singular( 'product' ) ) {
    $custom_terms = get_the_terms(0, 'product_cat');
    if ($custom_terms) {
      foreach ($custom_terms as $custom_term) {
        $classes[] = 'term-' . $custom_term->slug;
      }
    }
  }
  return $classes;
}

add_filter( 'body_class', 'sg_wooc_custom_taxonomy_in_body_class' );

Stampare la categoria come classe nel body quando visiti un post singolo

Una funzione semplice che aiuta a stampare tra le classi del body la categoria del post singolo. Per funzionare basta copiare e incollare nel file functions.php

function sg_add_category_to_single($classes) {
    if (is_single() ) {
      global $post;
      foreach((get_the_category($post->ID)) as $category) {
            // add category slug to the $classes array
            $classes[] = $category->category_nicename;
      }
    }
    // return the $classes array
    return $classes;
}

add_filter('body_class','sg_add_category_to_single');

Come si fa a mostrare i prezzi dopo aver fatto Login su Woocommerce?

Incollando questo codice sul file functions.php, il vostro tema non mostrerà più i prezzi dei prodotti invitando i visitatori a loggarsi o registrarsi per poterli vedere. Questa soluzione elimina anche il pulsante aggiungi al carrello.

function woocommerce_show_price_logged($price){
    if(is_user_logged_in() ){
        return $price;
    } else {
        add_action( 'woocommerce_single_product_summary', 'woocommerce_login_to_see_price', 31 );
        add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_login_to_see_price', 11 );
        remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
        remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
    }
}

add_filter('woocommerce_get_price_html', 'woocommerce_show_price_logged');
 
function woocommerce_login_to_see_price() {
        echo 'Registrati per vedere i prezzi';
}

Rimuovere il pulsante acquista dalle liste di prodotti su woocommerce

Condivido una funzione php da usare su wordpress che può essere molto utile per chi vuole rimuovere il pulsante “Acquista” da tutte liste di prodotti di woocommerce. La funzione viene usata in combinazione con la action hook “woocommerce_template_loop_add_to_cart” qui descritta e va incollata nel file functions.php perchè funzioni.


function woocommerce_remove_loop_button() {
    remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);

}
add_action('init', 'woocommerce_remove_loop_button');

Controllare se Woocommerce è attivo o no

Qui una piccola funzione molto utile presa dal tema Storefront per controllare se il plugin di Woocommerce è attivo o no.

if ( ! function_exists( 'is_woocommerce_activated' ) ) {
	function is_woocommerce_activated() {
		return class_exists( 'woocommerce' ) ? true : false;
	}
}

come usarla

if ( is_woocommerce_activated() ) {
    echo 'woocomemrce plugin is active :)';	
} else {
    echo 'woocommerce plugin is not active :(';
}