110 lines
3.2 KiB
PHP
110 lines
3.2 KiB
PHP
<?php
|
|
/**
|
|
* Twenty Seventeen support.
|
|
*
|
|
* @since 2.6.9
|
|
* @package WooCommerce/Classes
|
|
*/
|
|
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
/**
|
|
* WC_Twenty_Seventeen class.
|
|
*/
|
|
class WC_Twenty_Seventeen {
|
|
|
|
/**
|
|
* 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 );
|
|
|
|
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' ) );
|
|
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(
|
|
'thumbnail_image_width' => 250,
|
|
'single_image_width' => 350,
|
|
) );
|
|
}
|
|
|
|
/**
|
|
* Enqueue CSS for this theme.
|
|
*
|
|
* @param array $styles Array of registered styles.
|
|
* @return array
|
|
*/
|
|
public static function enqueue_styles( $styles ) {
|
|
unset( $styles['woocommerce-general'] );
|
|
|
|
$styles['woocommerce-general'] = array(
|
|
'src' => str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/twenty-seventeen.css',
|
|
'deps' => '',
|
|
'version' => WC_VERSION,
|
|
'media' => 'all',
|
|
'has_rtl' => true,
|
|
);
|
|
|
|
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>';
|
|
}
|
|
|
|
/**
|
|
* Custom colors.
|
|
*
|
|
* @param string $css Styles.
|
|
* @param string $hue Color.
|
|
* @param string $saturation Saturation.
|
|
* @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;
|
|
}
|
|
}
|
|
|
|
WC_Twenty_Seventeen::init();
|