<?php
/**
 * Watson WooCommerce Settings
 *
 * @package Watson
 * @version 1.0.0
 */

defined( 'ABSPATH' ) || exit;

/**
 * Настройки WooCommerce для темы Watson
 */
class Watson_Woo_Settings {

    /**
     * Экземпляр класса
     *
     * @var object
     */
    private static $instance = null;

    /**
     * Получение экземпляра класса
     *
     * @return object
     */
    public static function get_instance() {
        if ( null === self::$instance ) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    /**
     * Конструктор
     */
    public function __construct() {
        // Инициализация хуков
        $this->init_hooks();
    }

    /**
     * Инициализация хуков
     */
    private function init_hooks() {
        // Поддержка WooCommerce в теме
        add_action( 'after_setup_theme', array( $this, 'woocommerce_support' ) );
        
        // Настройка количества товаров в строке
        add_filter( 'loop_shop_columns', array( $this, 'loop_columns' ), 999 );
        
        // Настройка количества товаров на странице
        add_filter( 'loop_shop_per_page', array( $this, 'products_per_page' ), 20 );
        
        // Удаление хлебных крошек WooCommerce
        remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 );
    }

    /**
     * Добавление поддержки WooCommerce в тему
     */
    public function woocommerce_support() {
        add_theme_support( 'woocommerce' );
        add_theme_support( 'wc-product-gallery-zoom' );
        add_theme_support( 'wc-product-gallery-lightbox' );
        add_theme_support( 'wc-product-gallery-slider' );
    }

    /**
     * Настройка количества товаров в строке
     *
     * @return int
     */
    public function loop_columns() {
        return 3; // 3 товара в строке
    }

    /**
     * Настройка количества товаров на странице
     *
     * @return int
     */
    public function products_per_page() {
        return 12; // 12 товаров на странице
    }
}

// Инициализация класса
Watson_Woo_Settings::get_instance();
