woocommerce/includes/theme-support/class-wc-twenty-seventeen.php

121 lines
3.4 KiB
PHP
Raw Normal View History

<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Twenty Seventeen support.
*
* @class WC_Twenty_Seventeen
* @since 2.6.9
* @package WooCommerce/Classes
*/
class WC_Twenty_Seventeen {
/**
2017-02-24 12:41:15 +00:00
* Theme init.
*/
public static function init() {
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
2017-02-24 12:41:15 +00:00
add_action( 'woocommerce_before_main_content', array( __CLASS__, 'output_content_wrapper' ), 10 );
add_action( 'woocommerce_after_main_content', array( __CLASS__, 'output_content_wrapper_end' ), 10 );
add_filter( 'woocommerce_enqueue_styles', array( __CLASS__, 'enqueue_styles' ) );
2017-07-13 14:05:22 +00:00
add_filter( 'twentyseventeen_custom_colors_css', array( __CLASS__, 'custom_colors_css' ), 10, 3 );
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-lightbox' );
add_theme_support( 'wc-product-gallery-slider' );
add_theme_support( 'woocommerce', array(
'shop_catalog_image_size' => array(
'width' => 150,
'height' => 150,
'crop' => 1,
),
'shop_thumbnail_image_size' => array(
'width' => 80,
'height' => 80,
'crop' => 1,
),
'shop_single_image_size' => array(
'width' => 322,
'height' => 322,
'crop' => 0,
),
) );
}
/**
* Enqueue CSS for this theme.
*
* @param array $styles Array of registered styles.
* @return array
*/
2017-02-24 12:41:15 +00:00
public static function enqueue_styles( $styles ) {
unset( $styles['woocommerce-general'] );
$styles['woocommerce-twenty-seventeen'] = array(
2016-11-25 16:10:58 +00:00
'src' => str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/twenty-seventeen.css',
'deps' => '',
'version' => WC_VERSION,
'media' => 'all',
);
return apply_filters( 'woocommerce_twenty_seventeen_styles', $styles );
}
/**
* Open the Twenty Seventeen wrapper.
*/
public static function output_content_wrapper() {
echo '<div class="wrap">';
echo '<div id="primary" class="content-area twentyseventeen">';
echo '<main id="main" class="site-main" role="main">';
}
/**
* Close the Twenty Seventeen wrapper.
*/
public static function output_content_wrapper_end() {
echo '</main>';
echo '</div>';
get_sidebar();
echo '</div>';
}
2017-07-13 14:05:22 +00:00
/**
* Custom colors.
*
* @param string $css Styles.
* @param string $hue Color.
* @param string $saturation Saturation.
2017-07-13 14:05:22 +00:00
* @return string
*/
public static function custom_colors_css( $css, $hue, $saturation ) {
$css .= '
.colors-custom .select2-container--default .select2-selection--single {
border-color: hsl( ' . $hue . ', ' . $saturation . ', 73% );
}
.colors-custom .select2-container--default .select2-selection__rendered {
color: hsl( ' . $hue . ', ' . $saturation . ', 40% );
}
.colors-custom .select2-container--default .select2-selection--single .select2-selection__arrow b {
border-color: hsl( ' . $hue . ', ' . $saturation . ', 40% ) transparent transparent transparent;
}
.colors-custom .select2-container--focus .select2-selection {
border-color: #000;
}
.colors-custom .select2-container--focus .select2-selection--single .select2-selection__arrow b {
border-color: #000 transparent transparent transparent;
}
.colors-custom .select2-container--focus .select2-selection .select2-selection__rendered {
color: #000;
}
';
return $css;
}
}
2017-02-24 12:41:15 +00:00
WC_Twenty_Seventeen::init();