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

94 lines
2.4 KiB
PHP
Raw Normal View History

<?php
/**
* Twenty Nineteen support.
*
* @since 3.5.X
* @package WooCommerce/Classes
*/
defined( 'ABSPATH' ) || exit;
/**
* WC_Twenty_Nineteen class.
*/
class WC_Twenty_Nineteen {
/**
* Theme init.
*/
public static function init() {
2018-11-16 16:29:21 +00:00
// 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 );
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 );
2018-11-16 16:29:21 +00:00
// 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' ) );
2018-11-16 16:29:21 +00:00
// 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(
2018-11-16 16:29:21 +00:00
'thumbnail_image_width' => 300,
'single_image_width' => 450,
) );
2018-11-16 16:29:21 +00:00
// Tweak Twenty Nineteen features.
add_action( 'wp', array( __CLASS__, 'tweak_theme_features' ) );
}
/**
* Open the Twenty Nineteen wrapper.
*/
public static function output_content_wrapper() {
echo '<section id="primary" class="content-area">';
echo '<main id="main" class="site-main">';
}
/**
* Close the Twenty Nineteen wrapper.
*/
public static function output_content_wrapper_end() {
echo '</main>';
echo '</section>';
}
/**
* 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-nineteen.css',
'deps' => '',
'version' => WC_VERSION,
'media' => 'all',
'has_rtl' => true,
);
return apply_filters( 'woocommerce_twenty_nineteen_styles', $styles );
}
2018-11-16 16:29:21 +00:00
/**
* Tweak Twenty Nineteen features.
*/
public static function tweak_theme_features() {
if ( is_woocommerce() ) {
add_filter( 'twentynineteen_can_show_post_thumbnail', '__return_false' );
}
}
}
WC_Twenty_Nineteen::init();