/
var
/
www
/
barefootlaw.org
/
wp-content
/
themes
/
barefoot
/
inc
/
woocommerce
/
functions
/
Upload File
HOME
<?php /** * Init setup settings for WooCommerce * * Includes the most important settings for the WooCommerce. * * @package Aisconverse * @subpackage Covercase * @since Covercase 1.0 */ if ( ! function_exists( 'covercase_woo_support' ) ) { /** * Adding WooCommerce support * * @since Covercase 1.0 */ function covercase_woo_support() { // Adds WooCommerce Support add_theme_support( 'woocommerce' ); // Remove Some WooCommerce Features remove_theme_support( 'wc-product-gallery-zoom' ); remove_theme_support( 'wc-product-gallery-lightbox' ); remove_theme_support( 'wc-product-gallery-slider' ); } add_action( 'after_setup_theme', 'covercase_woo_support' ); } if ( ! function_exists( 'covercase_woo_template_path' ) ) { /** * Change Default WooCommerce Template Path * * @since Covercase 1.0 */ function covercase_woo_template_path() { return 'inc/woocommerce/'; } add_filter( 'woocommerce_template_path', 'covercase_woo_template_path' ); } if ( ! function_exists( 'covercase_related_products_args' ) ) { /** * Change Default WooCommerce Size Related Products * * @since Covercase 1.0 */ function covercase_related_products_args( $args ) { $args['posts_per_page'] = 8; // 8 related products $args['columns'] = 2; // arranged in 2 columns return $args; } add_filter( 'woocommerce_output_related_products_args', 'covercase_related_products_args' ); } if ( ! function_exists( 'covercase_woo_loop_shop_per_page' ) ) { /** * The default number of products * * @since Covercase 1.0 */ function covercase_woo_loop_shop_per_page( $cols ) { $products_per_page = isset( $_GET['products'] ) ? $_GET['products'] : 12; return $products_per_page; } add_filter( 'loop_shop_per_page', 'covercase_woo_loop_shop_per_page', 20 ); } if ( ! function_exists( 'covercase_woo_loop_change' ) ) { /** * Change WP_QUERY loop on static shop pages * * @since Covercase 1.0 */ function covercase_woo_loop_change( $q ) { if ( isset( $q->query_vars['basement_shop_page'] ) ) { $this_ = new WC_Query(); $this_->product_query( $q ); // And remove the pre_get_posts hook. $this_->remove_product_query(); } } add_action( 'pre_get_posts', 'covercase_woo_loop_change', 1 ); } if ( ! function_exists( 'covercase_woo_loop_vars' ) ) { /** * Init Basement WP_QUERY for custom products loop * * @since Covercase 1.0 */ function covercase_woo_loop_vars( $query_vars ) { $query_vars[] = 'basement_shop_page'; return $query_vars; } add_filter( 'query_vars', 'covercase_woo_loop_vars' ); } // Disable WooCommerce CSS add_filter( 'woocommerce_enqueue_styles', '__return_false' ); // Disable WooCommerce Breadcrumbs remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 ); // Disable Default WooCommerce Title add_filter( 'woocommerce_show_page_title', '__return_false' ); // Disable default description for shop pages (taxes & product) remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description' ); remove_action( 'woocommerce_archive_description', 'woocommerce_product_archive_description' ); // Disable default Sidebar remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar' ); if ( ! function_exists( 'covercase_woo_assets' ) ) { /** * Enqueues scripts and styles for WooCommerce. * * @since Covercase 1.0 */ function covercase_woo_assets() { // Core WooCommerce styles wp_enqueue_style( 'covercase_woo_styles', get_theme_file_uri( 'assets/css/woocommerce.css' ), array(), COVERCASE_VERSION ); // Core WooCommerce scripts wp_enqueue_script( 'covercase_woo_scripts', get_theme_file_uri( 'assets/js/woocommerce.js' ), array( 'jquery', 'covercase_script_plugins' ), COVERCASE_VERSION, true ); // Disable Woo Pass strength meter wp_dequeue_script( 'wc-password-strength-meter' ); // Full Removed Select2 functionality covercase_disable_script( 'select2' ); wp_dequeue_script( 'select2' ); covercase_disable_script( 'selectWoo' ); wp_dequeue_script( 'selectWoo' ); covercase_disable_style( 'select2' ); wp_dequeue_style( 'select2' ); covercase_disable_script( 'wc-add-to-cart-variation' ); wp_dequeue_style( 'wc-add-to-cart-variation' ); wp_register_script( 'wc-add-to-cart-variation', get_theme_file_uri( 'assets/js/vendor/add-to-cart-variation.min.js' ), array( 'jquery', 'wp-util' ), COVERCASE_VERSION, true ); } add_action( 'wp_enqueue_scripts', 'covercase_woo_assets' ); } if ( ! function_exists( 'covercase_woo_add_defer_attribute' ) ) { /** * Adds defer attribute for best JS performance * * @since Covercase 1.0 */ function covercase_woo_add_defer_attribute( $tag, $handle ) { // add script handles to the array below $scripts_to_defer = array( 'covercase_woo_scripts' ); foreach ( $scripts_to_defer as $defer_script ) { if ( $defer_script === $handle ) { return str_replace( ' src', ' defer="defer" src', $tag ); } } return $tag; } $script_woo_defer = str_replace( '-', '_', 'script-loader-tag' ); add_filter( $script_woo_defer, 'covercase_woo_add_defer_attribute', 10, 2 ); } if ( ! function_exists( 'covercase_woo_widget_title' ) ) { /** * Generate Specific Title For Widgets * * @since Covercase 1.0 */ function covercase_woo_widget_title( $title, $widget, $id ) { if ( empty( $title ) ) { switch ( $id ) { case 'woocommerce_rating_filter' : $title = __( 'Average Rating Filter', 'covercase' ); break; case 'woocommerce_widget_cart' : $title = __( 'Cart', 'covercase' ); break; case 'woocommerce_layered_nav' : $title = __( 'Filter by', 'covercase' ); break; case 'woocommerce_price_filter' : $title = __( 'Filter by price', 'covercase' ); break; case 'woocommerce_product_categories' : $title = __( 'Product Categories', 'covercase' ); break; case 'woocommerce_products' : $title = __( 'Products', 'covercase' ); break; case 'woocommerce_product_search' : $title = __( 'Product Search', 'covercase' ); break; case 'woocommerce_recently_viewed_products' : $title = __( 'Recently Viewed Products', 'covercase' ); break; case 'woocommerce_recent_reviews' : $title = __( 'Recent Reviews', 'covercase' ); break; case 'woocommerce_top_rated_products' : $title = __( 'Top Rated Products', 'covercase' ); break; } } return $title; } add_filter( 'widget_title', 'covercase_woo_widget_title', 10, 3 ); } if ( ! function_exists( 'covercase_woo_cart_redirect' ) ) { /** * Disable re-add goods to cart after F5 * * @since Covercase 1.0 */ function covercase_woo_cart_redirect() { $request = filter_input(INPUT_SERVER, 'REQUEST_URI'); $url = !empty( $request ) ? home_url( strtok( $request, '?' ) ) : get_permalink( wc_get_page_id( 'shop' ) ); return $url; } add_filter( 'woocommerce_add_to_cart_redirect', 'covercase_woo_cart_redirect' ); } if ( ! function_exists( 'covercase_woo_layout_settings' ) ) { /** * Sets Custom Settings For Layout * * @since Covercase 1.0 */ function covercase_woo_layout_settings( $settings ) { if ( is_shop() || is_product_taxonomy() || is_cart() || is_checkout() || is_singular( 'product' ) || is_account_page() ) { $settings['layout_type'] = 'standard'; $settings['layout_padding_top'] = ''; $settings['layout_padding_bottom'] = ''; $settings['layout_border'] = 'no'; $settings['layout_border_color'] = ''; $settings['layout_border_size'] = ''; } return $settings; } add_filter( 'basement_layout_settings', 'covercase_woo_layout_settings' ); } if ( ! function_exists( 'covercase_woo_pagetitle_settings' ) ) { /** * Custom Page Title Settings For Pages * * @since Covercase 1.0 */ function covercase_woo_pagetitle_settings( $settings ) { if ( is_shop() || is_product_taxonomy() || is_cart() || is_checkout() || ( is_account_page() && is_user_logged_in() ) ) { $settings['pt_style'] = 'white'; $settings['pt_bg_color'] = '#ffffff'; $settings['pt_title_color'] = '#262626'; $settings['pt_placement'] = 'after'; $settings['pt_elements'] = array( 'title' => 'title', 'line' => 'line' ); $settings['pt_icon'] = ''; $settings['pt_icon_size'] = ''; $settings['pt_icon_color'] = ''; $settings['pt_bg'] = ''; $settings['pt_bg_opacity'] = '1'; $settings['pt_position'] = 'center_right'; $settings['pt_title_size'] = '60'; $settings['pt_padding_top'] = '136'; $settings['pt_padding_bottom'] = '48'; $settings['page_title_bg_gradient'] = array( 'start' => '', 'end' => '' ); $settings['page_title_video'] = array( 'youtube' => '', 'youtube_start' => '', 'vimeo' => '' ); $settings['page_title_sticky'] = 'disable'; $settings['pt_float_enable'] = 'no'; $settings['pt_float_text_color'] = ''; $settings['pt_float_text_size'] = ''; $settings['pt_off'] = 'no'; } if ( is_product_taxonomy() ) { $settings['pt_title_size'] = '50'; } if ( is_cart() || is_checkout() || ( is_account_page() && is_user_logged_in() ) ) { $settings['pt_title_size'] = '42'; $settings['pt_padding_top'] = '71'; $settings['pt_padding_bottom'] = '29'; } // Hide page title on Thx page if ( isset( $_GET['key'] ) && strpos( $_GET['key'], 'wc_order_' ) !== false && !is_checkout_pay_page() ) { $settings['pt_off'] = 'yes'; $settings['pt_placement'] = 'after'; $settings['pt_float_enable'] = 'no'; } if ( is_singular( 'product' )) { $settings['pt_off'] = 'yes'; $settings['pt_placement'] = 'after'; $settings['pt_float_enable'] = 'no'; } if ( is_account_page() && ! is_user_logged_in() ) { $settings['pt_off'] = 'yes'; $settings['pt_placement'] = 'under'; $settings['pt_float_enable'] = 'no'; } return $settings; } add_filter( 'basement_pagetitle_settings', 'covercase_woo_pagetitle_settings' ); } if ( ! function_exists( 'covercase_woo_footer_settings' ) ) { /** * Custom Footer Settings For Pages * * @since Covercase 1.0 */ function covercase_woo_footer_settings( $settings ) { if ( is_account_page() && ! is_user_logged_in() ) { $settings['footer'] = 'no'; } return $settings; } add_filter( 'basement_footer_settings', 'covercase_woo_footer_settings' ); } if ( ! function_exists( 'covercase_woo_catalog_orderby' ) ) { /** * Custom WooCommerce sorting * * @return array */ function covercase_woo_catalog_orderby() { return array( 'menu_order' => __( 'Default sorting', 'covercase' ), 'popularity' => __( 'Popularity', 'covercase' ), 'rating' => __( 'Average rating', 'covercase' ), 'date' => __( 'Newness', 'covercase' ), 'price' => __( 'Price: low to high', 'covercase' ), 'price-desc' => __( 'Price: high to low', 'covercase' ), ); } add_filter( 'woocommerce_catalog_orderby', 'covercase_woo_catalog_orderby' ); }