87 lines
2.2 KiB
PHP
87 lines
2.2 KiB
PHP
<?php
|
|
/**
|
|
* Twenty Twenty One support.
|
|
*
|
|
* @since 4.7.0
|
|
* @package WooCommerce\Classes
|
|
*/
|
|
|
|
use Automattic\Jetpack\Constants;
|
|
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
/**
|
|
* WC_Twenty_Twenty_One class.
|
|
*/
|
|
class WC_Twenty_Twenty_One {
|
|
|
|
/**
|
|
* Theme init.
|
|
*/
|
|
public static function init() {
|
|
|
|
// Change WooCommerce wrappers.
|
|
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
|
|
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
|
|
|
|
// This theme doesn't have a traditional sidebar.
|
|
remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
|
|
|
|
// Enqueue theme compatibility styles.
|
|
add_filter( 'woocommerce_enqueue_styles', array( __CLASS__, 'enqueue_styles' ) );
|
|
|
|
// Enqueue wp-admin compatibility styles.
|
|
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_admin_styles' ) );
|
|
|
|
// Register theme features.
|
|
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' => 450,
|
|
'single_image_width' => 600,
|
|
)
|
|
);
|
|
|
|
}
|
|
|
|
/**
|
|
* 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-twenty-one.css',
|
|
'deps' => '',
|
|
'version' => Constants::get_constant( 'WC_VERSION' ),
|
|
'media' => 'all',
|
|
'has_rtl' => true,
|
|
);
|
|
|
|
return apply_filters( 'woocommerce_twenty_twenty_one_styles', $styles );
|
|
}
|
|
|
|
/**
|
|
* Enqueue the wp-admin CSS overrides for this theme.
|
|
*/
|
|
public static function enqueue_admin_styles() {
|
|
wp_enqueue_style(
|
|
'woocommerce-twenty-twenty-one-admin',
|
|
str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/twenty-twenty-one-admin.css',
|
|
'',
|
|
Constants::get_constant( 'WC_VERSION' ),
|
|
'all'
|
|
);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
WC_Twenty_Twenty_One::init();
|