plugin_url() ) . '/assets/fonts/';
$inline_font = '@font-face {
font-family: "star";
src: url("' . $font_path . 'star.eot");
src: url("' . $font_path . 'star.eot?#iefix") format("embedded-opentype"),
url("' . $font_path . 'star.woff") format("woff"),
url("' . $font_path . 'star.ttf") format("truetype"),
url("' . $font_path . 'star.svg#star") format("svg");
font-weight: normal;
font-style: normal;
}';
wp_add_inline_style( 'bizbuzz-woocommerce-style', $inline_font );
}
add_action( 'wp_enqueue_scripts', 'bizbuzz_woocommerce_scripts' );
/**
* Disable the default WooCommerce stylesheet.
*
* Removing the default WooCommerce stylesheet and enqueing your own will
* protect you during WooCommerce core updates.
*
* @link https://docs.woocommerce.com/document/disable-the-default-stylesheet/
*/
add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );
/**
* Add 'woocommerce-active' class to the body tag.
*
* @param array $classes CSS classes applied to the body tag.
* @return array $classes modified to include 'woocommerce-active' class.
*/
function bizbuzz_woocommerce_active_body_class( $classes ) {
$classes[] = 'woocommerce-active';
return $classes;
}
add_filter( 'body_class', 'bizbuzz_woocommerce_active_body_class' );
/**
* Products per page.
*
* @return integer number of products.
*/
function bizbuzz_woocommerce_products_per_page() {
return 12;
}
add_filter( 'loop_shop_per_page', 'bizbuzz_woocommerce_products_per_page' );
/**
* Product gallery thumnbail columns.
*
* @return integer number of columns.
*/
function bizbuzz_woocommerce_thumbnail_columns() {
return 4;
}
add_filter( 'woocommerce_product_thumbnails_columns', 'bizbuzz_woocommerce_thumbnail_columns' );
/**
* Default loop columns on product archives.
*
* @return integer products per row.
*/
function bizbuzz_woocommerce_loop_columns() {
return 3;
}
add_filter( 'loop_shop_columns', 'bizbuzz_woocommerce_loop_columns' );
/**
* Related Products Args.
*
* @param array $args related products args.
* @return array $args related products args.
*/
function bizbuzz_woocommerce_related_products_args( $args ) {
$defaults = array(
'posts_per_page' => 3,
'columns' => 3,
);
$args = wp_parse_args( $defaults, $args );
return $args;
}
add_filter( 'woocommerce_output_related_products_args', 'bizbuzz_woocommerce_related_products_args' );
if ( ! function_exists( 'bizbuzz_woocommerce_product_columns_wrapper' ) ) {
/**
* Product columns wrapper.
*
* @return void
*/
function bizbuzz_woocommerce_product_columns_wrapper() {
$columns = bizbuzz_woocommerce_loop_columns();
echo '
';
}
}
add_action( 'woocommerce_before_shop_loop', 'bizbuzz_woocommerce_product_columns_wrapper', 40 );
if ( ! function_exists( 'bizbuzz_woocommerce_product_columns_wrapper_close' ) ) {
/**
* Product columns wrapper close.
*
* @return void
*/
function bizbuzz_woocommerce_product_columns_wrapper_close() {
echo '
';
}
}
add_action( 'woocommerce_after_shop_loop', 'bizbuzz_woocommerce_product_columns_wrapper_close', 40 );
/**
* Remove default WooCommerce wrapper.
*/
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
if ( ! function_exists( 'bizbuzz_woocommerce_wrapper_before' ) ) {
/**
* Before Content.
*
* Wraps all WooCommerce content in wrappers which match the theme markup.
*
* @return void
*/
function bizbuzz_woocommerce_wrapper_before() {
?>
*/
if ( ! function_exists( 'bizbuzz_woocommerce_cart_link_fragment' ) ) {
/**
* Cart Fragments.
*
* Ensure cart contents update when products are added to the cart via AJAX.
*
* @param array $fragments Fragments to refresh via AJAX.
* @return array Fragments to refresh via AJAX.
*/
function bizbuzz_woocommerce_cart_link_fragment( $fragments ) {
ob_start();
bizbuzz_woocommerce_cart_link();
$fragments['a.cart-contents'] = ob_get_clean();
return $fragments;
}
}
add_filter( 'woocommerce_add_to_cart_fragments', 'bizbuzz_woocommerce_cart_link_fragment' );
if ( ! function_exists( 'bizbuzz_woocommerce_cart_link' ) ) {
/**
* Cart Link.
*
* Displayed a link to the cart including the number of items present and the cart total.
*
* @return void
*/
function bizbuzz_woocommerce_cart_link() {
?>
cart->get_cart_contents_count(), 'bizbuzz' ),
WC()->cart->get_cart_contents_count()
);
?>
cart->get_cart_subtotal() ); ?>
';
}
}
}
add_action( 'bizbuzz_action_content', 'bizbuzz_woocommerce_main_content_starts', 30 );
if ( ! function_exists( 'bizbuzz_woocommerce_main_content_ends' ) ) {
function bizbuzz_woocommerce_main_content_ends() {
if ( is_woocommerce() ) {
echo '
';
}
}
}
add_action( 'bizbuzz_action_before_content', 'bizbuzz_woocommerce_main_content_ends', 30 );
if ( ! function_exists( 'bizbuzz_woocommerce_breadcrumb_defaults' ) ) {
/**
* Woocommerce breadcrumb defaults.
*
* @since 1.0.0
*
* @param array $defaults Defaults Params.
* @return array
*/
function bizbuzz_woocommerce_breadcrumb_defaults( $defaults ) {
$defaults['delimiter'] = ' > ';
$defaults['wrap_before'] = '';
$defaults['wrap_after'] = '
';
$defaults['before'] = '';
$defaults['after'] = '';
return $defaults;
}
}
add_filter( 'woocommerce_breadcrumb_defaults', 'bizbuzz_woocommerce_breadcrumb_defaults' );
if ( ! function_exists( 'bizbuzz_remove_shop_breadcrumbs' ) ) {
/**
* Woocommerce Breadcrumb customization at woocommerce pages.
*
* @since 1.0.0
**/
function bizbuzz_remove_shop_breadcrumbs() {
if ( bizbuzz_has_woocommerce() && is_woocommerce() ) {
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 ); // WooCommerce Breadcrumb.
remove_action( 'bizbuzz_action_content', 'bizbuzz_get_breadcrumb', 20 ); // Theme Breadcrumb.
$enable_breadcrumb = bizbuzz_get_option( 'enable_breadcrumb' ); // Place only, when breadcrumb is enabled.
if ( $enable_breadcrumb ) {
add_action( 'bizbuzz_action_content', 'woocommerce_breadcrumb', 20 ); // Placed the WooCommerce Breadcrumb at theme breadcrumb.
}
}
}
}
add_action( 'template_redirect', 'bizbuzz_remove_shop_breadcrumbs' );
if ( ! function_exists( 'bizbuzz_woocommerce_pagination_args' ) ) {
function bizbuzz_woocommerce_pagination_args( $args ) {
$args['prev_text'] = __( 'Previous', 'bizbuzz' );
$args['next_text'] = __( 'Next', 'bizbuzz' );
}
}
add_filter( 'woocommerce_pagination_args', 'bizbuzz_woocommerce_pagination_args' );
add_filter( 'woocommerce_show_page_title', '__return_false' );