I used this in my child-theme functions.css
//Woocommerce
add_filter( 'woocommerce_enqueue_styles', '__return_false' );
function wp_enqueue_woocommerce_style(){
wp_register_style( 'woocommerce', get_stylesheet_directory_uri() . '/css/woocommerce.css' );
if ( class_exists( 'woocommerce' ) ) {
wp_enqueue_style( 'woocommerce' );
}
}
add_action( 'wp_enqueue_scripts', 'wp_enqueue_woocommerce_style' );
Notice that I made css/woommerce.css file inside my child theme folder and added custom styles there.
Also notice that only difference between this and https://docs.woothemes.com/document/disable-the-default-stylesheet/
tutorial is that I changed
get_template_directory_uri() . '/css/woocommerce.css' );
to
get_stylesheet_directory_uri() . '/css/woocommerce.css' );
I used add_filter( 'woocommerce_enqueue_styles', '__return_false' );
so this line disables all woocommerce styles.
Insted you can use this to disable them one by one. You can find these from
https://docs.woothemes.com/document/disable-the-default-stylesheet/
// Remove each style one by one
add_filter( 'woocommerce_enqueue_styles', 'jk_dequeue_styles' );
function jk_dequeue_styles( $enqueue_styles ) {
unset( $enqueue_styles['woocommerce-general'] ); // Remove the gloss
unset( $enqueue_styles['woocommerce-layout'] ); // Remove the layout
unset( $enqueue_styles['woocommerce-smallscreen'] ); // Remove the smallscreen optimisation
return $enqueue_styles;
}
Notice that you dont need to disable all the woocommerce styles if you just want to replace them with your own.
Just dont add
add_filter( 'woocommerce_enqueue_styles', '__return_false' );
Use this instead.
//Woocommerce
function wp_enqueue_woocommerce_style(){
wp_register_style( 'woocommerce', get_stylesheet_directory_uri() . '/css/woocommerce.css' );
if ( class_exists( 'woocommerce' ) ) {
wp_enqueue_style( 'woocommerce' );
}
}
add_action( 'wp_enqueue_scripts', 'wp_enqueue_woocommerce_style' );
Worked fine for me.