# BizzSwatches - ব্যবহার গাইড

## প্লাগিন কি করে?

BizzSwatches প্লাগিন WooCommerce এর প্রোডাক্ট ভ্যারিয়েশন ড্রপডাউনকে সুন্দর কালার, ইমেজ, বাটন এবং রেডিও সোয়াচে রূপান্তর করে। এটি কাস্টমারদের প্রোডাক্ট ভ্যারিয়েশন সিলেক্ট করার অভিজ্ঞতা উন্নত করে।

---

## ইনস্টলেশন

### প্রয়োজনীয়তা
- WordPress ৬.২ বা তার উপরে
- WooCommerce ৫.০ বা তার উপরে
- PHP ৮.০ বা তার উপরে

### ইনস্টল করার ধাপ
1. প্লাগিন ফাইল WordPress এর `wp-content/plugins/` ফোল্ডারে আপলোড করুন
2. WordPress Admin → Plugins পেজে গিয়ে "BizzSwatches" অ্যাক্টিভেট করুন
3. প্রথমবার অ্যাক্টিভেট করলে Setup Wizard দেখাবে

---

## ফিচারসমূহ

### ১. কালার সোয়াচ

WooCommerce এর "Color" টাইপ অ্যাট্রিবিউটের জন্য কালার সোয়াচ দেখায়।

**সেটআপ:**
1. **Products → Attributes** এ যান
2. একটি নতুন অ্যাট্রিবিউট তৈরি করুন (যেমন: Color)
3. "Type" ড্রপডাউন থেকে **"Color"** সিলেক্ট করুন
4. অ্যাট্রিবিউট সেভ করুন
5. "Configure terms" এ ক্লিক করে টার্ম যোগ করুন (যেমন: Red, Blue, Green)
6. প্রতিটি টার্মের জন্য কালার পিকার ব্যবহার করে রঙ নির্বাচন করুন

**কোডে কোথায়:**
- অ্যাডমিন কালার ফিল্ড: `includes/Admin/AttributeMeta.php`
- ফ্রন্টএন্ড রেন্ডারিং: `includes/Frontend/SwatchesDisplay.php` → `render_color_swatches()`

### ২. ইমেজ সোয়াচ

প্রতিটি ভ্যারিয়েশনের জন্য কাস্টম ইমেজ দেখায়।

**সেটআপ:**
1. **Products → Attributes** এ যান
2. "Type" ড্রপডাউন থেকে **"Image"** সিলেক্ট করুন
3. টার্ম এডিট করার সময় "Upload Image" বাটনে ক্লিক করে ইমেজ আপলোড করুন

**কোডে কোথায়:**
- অ্যাডমিন ইমেজ ফিল্ড: `includes/Admin/AttributeMeta.php`
- ফ্রন্টএন্ড রেন্ডারিং: `includes/Frontend/SwatchesDisplay.php` → `render_image_swatches()`

### ৩. বাটন সোয়াচ

টেক্সট লেবেল বাটন হিসেবে দেখায় (যেমন: S, M, L, XL)।

**সেটআপ:**
1. **Products → Attributes** এ যান
2. "Type" ড্রপডাউন থেকে **"Button"** সিলেক্ট করুন
3. টার্ম যোগ করুন - টার্মের নাম বাটনের লেবেল হিসেবে দেখাবে

**অটো কনভার্ট:**
- সেটিংসে "Convert Dropdown to Button" অন থাকলে, সাধারণ "Select" টাইপ অ্যাট্রিবিউটও বাটনে রূপান্তর হবে

**কোডে কোথায়:**
- ফ্রন্টএন্ড রেন্ডারিং: `includes/Frontend/SwatchesDisplay.php` → `render_button_swatches()`

### ৪. রেডিও সোয়াচ

রেডিও বাটন স্টাইলে ভ্যারিয়েশন সিলেকশন দেখায়।

**সেটআপ:**
1. **Products → Attributes** এ যান
2. "Type" ড্রপডাউন থেকে **"Radio"** সিলেক্ট করুন

**কোডে কোথায়:**
- ফ্রন্টএন্ড রেন্ডারিং: `includes/Frontend/SwatchesDisplay.php` → `render_radio_swatches()`

### ৫. টুলটিপ

সোয়াচের উপর মাউস হোভার করলে টুলটিপ দেখায়।

**চালু/বন্ধ করা:**
- **BizzSwatches → Settings → Display → Enable Tooltip**

**কোডে কোথায়:**
- সেটিং: `includes/Admin/FrameworkLoader.php` → `add_display_section()`
- ফ্রন্টএন্ড: `includes/Frontend/Frontend.php` → `enqueue_scripts()` (JS এ পাঠায়)

### ৬. আউট অফ স্টক বিহেভিয়র

স্টকে নেই এমন ভ্যারিয়েশন কিভাবে দেখাবে তা কন্ট্রোল করুন:

| অপশন | ব্যাখ্যা |
|------|---------|
| **Blur** | ঝাপসা করে দেখায় |
| **Cross** | ক্রস চিহ্ন দেখায় |
| **Hide** | লুকিয়ে ফেলে |

**সেটিং:** **BizzSwatches → Settings → Display → Out of Stock Behavior**

### ৭. সোয়াচ শেপ

সোয়াচের আকৃতি পরিবর্তন করুন:

| অপশন | ব্যাখ্যা |
|------|---------|
| **Rounded** | গোলাকার কোণা |
| **Squared** | চারকোণা |
| **Circle** | সম্পূর্ণ গোল |

**সেটিং:** **BizzSwatches → Settings → General → Swatch Shape**

### ৮. সোয়াচ সাইজ

সোয়াচের প্রস্থ এবং উচ্চতা পিক্সেলে সেট করুন (১০ থেকে ১০০ পিক্সেল)।

**সেটিং:** **BizzSwatches → Settings → Size**

### ৯. প্রোডাক্ট-লেভেল ওভাররাইড

প্রতিটি প্রোডাক্টের জন্য আলাদা সোয়াচ সেটিং ব্যবহার করুন।

**সেটআপ:**
1. প্রোডাক্ট এডিট পেজে যান
2. "Swatches Settings" ট্যাবে ক্লিক করুন
3. "Override Global Settings" চেকবক্স অন করুন
4. এই প্রোডাক্টের জন্য আলাদা শেপ, টুলটিপ, এবং আউট অফ স্টক বিহেভিয়র সেট করুন

**কোডে কোথায়:**
- অ্যাডমিন প্যানেল: `includes/Admin/ProductPanel.php`
- ফ্রন্টএন্ড ওভাররাইড: `includes/Frontend/SwatchesDisplay.php` → `get_wrapper_classes()`

---

## সেটিংস পেজ ব্যবহার

### সেটিংস পেজে যাওয়া
WordPress Admin → **BizzSwatches** (বাম মেনুতে)

### সেটিংস সেকশন

#### General (সাধারণ)
- **Enable Swatches** - সোয়াচ চালু/বন্ধ
- **Convert Dropdown to Button** - সাধারণ ড্রপডাউন বাটনে রূপান্তর
- **Swatch Shape** - আকৃতি নির্বাচন

#### Display (ডিসপ্লে)
- **Enable Tooltip** - টুলটিপ চালু/বন্ধ
- **Show Variation Label** - নির্বাচিত ভ্যারিয়েশনের নাম দেখানো
- **Out of Stock Behavior** - স্টক শেষ ভ্যারিয়েশনের আচরণ

#### Size (সাইজ)
- **Swatch Width** - প্রস্থ (পিক্সেল)
- **Swatch Height** - উচ্চতা (পিক্সেল)

---

## ডেভেলপারদের জন্য

### গ্লোবাল ফাংশন

```php
// প্লাগিন ইন্সট্যান্স পাওয়া
$plugin = bizzswatches();

// সেটিং পড়া
$value = bizzswatches()->get_option('enable_swatches', '1');

// সব সেটিং পড়া
$options = bizzswatches()->get_options();

// অ্যাসেট URL পাওয়া
$css = bizzswatches()->assets_url('/css/frontend.css');

// প্রো ভার্সন চেক করা
$is_pro = bizzswatches()->is_pro();
```

### হুক এবং ফিল্টার

```php
// প্লাগিন লোড হওয়ার পরে কিছু করা
add_action('bizzswatches_loaded', function($plugin) {
    // আপনার কোড
});

// অ্যাডমিন লোড হওয়ার পরে
add_action('bizzswatches_admin_loaded', function($admin) {
    // আপনার কোড
});

// ফ্রন্টএন্ড লোড হওয়ার পরে
add_action('bizzswatches_frontend_loaded', function($frontend) {
    // আপনার কোড
});

// প্রোডাক্ট ডেটা ট্যাব দেখানো/লুকানো
add_filter('bizzswatches_show_product_data_tab', function($show) {
    return true; // বা false
});

// অ্যাট্রিবিউট ট্যাক্সনমি ডেটা ফিল্টার
add_filter('bizzswatches_get_attribute_taxonomy', function($taxonomy, $name) {
    return $taxonomy;
}, 10, 2);

// প্রো ভার্সন চেক ফিল্টার
add_filter('bizzswatches_is_pro', function($is_pro) {
    return true;
});

// ডুয়াল কালার গ্রেডিয়েন্ট এঙ্গেল
add_filter('bizzswatches_dual_color_gradient_angle', function($angle) {
    return '-60deg';
});
```

### ডেটা স্টোরেজ

| লোকেশন | কী | বিবরণ |
|---------|-----|---------|
| `wp_options` | `bizzswatches_settings` | সমস্ত প্লাগিন সেটিংস (অ্যারে) |
| `wp_postmeta` | `_bizzswatches_settings` | প্রোডাক্ট-লেভেল ওভাররাইড |
| `wp_termmeta` | `bizzswatches_color` | অ্যাট্রিবিউট টার্মের রঙ (HEX) |
| `wp_termmeta` | `bizzswatches_image` | অ্যাট্রিবিউট টার্মের ইমেজ (Attachment ID) |
