Workflow (1) – အနှစ်ချုပ် (Summary)

workflow 1 ကို အဆင်ပြေသွားပြီဆိုတော့ ၄င်း workflow 1 အတွက် အနှစ်ချုပ်(summary)နဲ့ new chat မှာ ရေးခိုင်းမယ်ဆိုရင် အမှားအယွင်းမရှိ တန်းရေးနိုင်ဖို့ ready made prompts ကို ထုတ်ပေးပါ။

Workflow (1) အတွက် အနှစ်ချုပ် (Summary) နဲ့ New Chat မှာ တန်းပြီး အမှားအယွင်းမရှိ ရေးခိုင်းနိုင်ဖို့အတွက် Ready-Made Prompts ကို အောက်ပါအတိုင်း ထုတ်ပေးလိုက်ပါတယ်ခင်ဗျာ။ ဒီ Prompts ကို Copy & Paste လုပ်ပြီး အသုံးပြုနိုင်ပါတယ်။

### **Workflow (1) – အနှစ်ချုပ် (Summary)**

ဤ Workflow (1) သည် WordPress Website တစ်ခုပေါ်တွင် **Dynamic Image Content** ကို **အဆင့် ၃ ဆင့်**ဖြင့် ပြသရန် ရည်ရွယ်သည်။ Facebook ကဲ့သို့သော Social Media မှ `?ssid` URL parameter ပါဝင်သော Link ဖြင့် ဝင်ရောက်လာသူများအား Dynamic Content Post (Custom Post Type: `dynamic_content`) မှ ပုံများကို သတ်မှတ်ထားသော Post များပေါ်တွင် အဆင့်လိုက် ပြသသည်။

**အဓိက အင်္ဂါရပ်များ:**

1. **Custom Post Type (`dynamic_content`):** ပုံများ၊ Next Button များ၏ URL များနှင့် SSID (Unique ID) တို့ကို သိမ်းဆည်းရန်အတွက်။
2. **ACF Custom Fields (Free Version):** `dynamic_content` Post များအတွက် ပုံ (၅ ပုံအထိ), Stage 1/2 Next Button ပုံများ, `show_global_cta_in_final_stage` (Global CTA ကို Final Stage တွင် ပြသ/မပြသ ထိန်းချုပ်ရန် Radio Button), `global_default_cta_image_url`, `global_default_cta_link_url` (ပထမဆုံး `dynamic_content` Post မှ Global CTA အတွက် တန်ဖိုးများယူရန်), နှင့် `assigned_ssid` စသည့် Fields များ ပါဝင်သည်။
3. **URL Parameters:** `ssid`, `dcid`, `imgidx`, `visited_posts` တို့ကို အသုံးပြု၍ လက်ရှိအဆင့်နှင့် ယခင်ရောက်ဖူးသော Posts များကို ထိန်းချုပ်သည်။
4. **Display Logic (၃ အဆင့်):**
* **အဆင့် (၁) – Start Page:** `?ssid` ဖြင့် ဝင်ရောက်လာသော မူရင်း Post တွင် `dynamic_content` မှ **ပထမဆုံး ပုံ (၂) ပုံ** နှင့် **Stage 1 Next Button** ကို ပြသသည်။
* **အဆင့် (၂) – Middle Stage:** Stage 1 Next Button ကို နှိပ်ပါက **မတူညီသော Random Original Post အသစ်တစ်ခု** သို့ redirect လုပ်ပြီး `dynamic_content` မှ **တတိယပုံ (ပုံ-၃) နှင့် စတုတ္ထပုံ (ပုံ-၄) နှစ်ပုံ** နှင့် **Stage 2 Next Button** ကို ပြသသည်။
* **အဆင့် (၃) – Final Stage:** Stage 2 Next Button ကို နှိပ်ပါက **မတူညီသော Random Original Post အသစ်တစ်ခု** သို့ redirect လုပ်ပြီး `dynamic_content` မှ **ပုံအားလုံး** ကို ပြသသည်။ နောက်ဆုံးစာသားနှင့် `show_global_cta_in_final_stage` ကို `yes` လုပ်ထားပါက **Global CTA (ပုံ+Link)** ကိုပါ ပြသသည်။
5. **Random Post Selection:** `Start Page`, `Middle Stage`, `Final Stage` တို့အတွက် **လုံးဝ မတူညီသော Regular Posts (၃ ခု)** ကို ရွေးချယ်ပြီး Redirect ပြုလုပ်သည်။
6. **Error Handling:** `Page` Post Type များကို Home Page (Blog Post Listing) Main Query မှ ဖယ်ထုတ်ထားပြီး Dynamic Workflow ကိုလည်း `Page` များနှင့် တွဲဖက် အလုပ်မလုပ်စေရ။
7. **ပုံစံများ:** Dynamic Content ပုံများအားလုံးကို **Center တည်ရှိပြီး Original Size** အတိုင်း ပြသသည်။ Next Button နှင့် Global CTA တို့ကိုလည်း သတ်မှတ်ထားသော CSS ဖြင့် လှပအောင် ပြုလုပ်ထားသည်။

### **Workflow (1) – Ready-Made Prompt for New Chat**

New Chat တွင် ဤ Workflow (1) ကို ပြန်လည်အကောင်အထည်ဖော်ရန် လိုအပ်ပါက အောက်ပါ Prompt ကို Copy & Paste လုပ်ပြီး အသုံးပြုနိုင်ပါသည်။ (ဤ Prompt တွင် ယခင် Chat ၏ အဖြေများမှ Final Version Code Logic များ ပါဝင်ပြီးသား ဖြစ်ပါသည်)

“ကျွန်တော် WordPress Website Development specialist တစ်ယောက်အနေနဲ့ အောက်ပါ Workflow (1) ပုံစံကို WordPress Site တစ်ခုမှာ အကောင်အထည်ဖော်လိုပါတယ်။ ACF (Free Version) နှင့် CPT UI Plugin များကို အသုံးပြုပြီး Step-by-Step အသေးစိတ် လမ်းညွှန်ပေးပါ။
Workflow (1) – အဆင့် ၃ ဆင့်ဖြင့် ပုံများပြသခြင်း:

Custom Post Type: dynamic_content (ပုံများပါဝင်သည့် Post များအတွက်)
ACF Custom Fields (Free Version – dynamic_content Post Type အတွက်):
Content Images: content_image_1_url မှ content_image_5_url (ပုံ ၅ ပုံအထိ၊ Field Type: URL)
Stage-specific Buttons:
stage_1_next_button_image_url (Start Page အတွက် Next Button ပုံ၊ Field Type: URL)
stage_2_next_button_image_url (Middle Stage အတွက် Next Button ပုံ၊ Field Type: URL)
Final Stage Call to Action Control:
show_global_cta_in_final_stage (Final Stage တွင် Global CTA ကို ပြသ/မပြသ ထိန်းချုပ်ရန်၊ Field Type: Radio Buttons – Choices: yes/no)
Global Default CTA (ACF Free Version Options Page အစား):
global_default_cta_image_url (Website တစ်ခုလုံးအတွက် Default CTA ပုံ၊ Field Type: URL – ပထမဆုံး dynamic_content Post တွင်သာ ဖြည့်ရန်)
global_default_cta_link_url (Website တစ်ခုလုံးအတွက် Default CTA Link၊ Field Type: URL – ပထမဆုံး dynamic_content Post တွင်သာ ဖြည့်ရန်)
SSID Assignment: assigned_ssid (Dynamic Content ကို ချိတ်ဆက်ရန် Unique ID၊ Field Type: Text)
URL Parameters: ssid, dcid, imgidx, visited_posts (ယခင်သွားခဲ့သော Post IDs များကို မှတ်သားရန်)
Display Logic:
အဆင့် (၁) – Start Page (Original Post + ssid):
Facebook မှ https://yoursite.com/original-post/?ssid=UNIQUE_ID လင့်ဖြင့် ဝင်ရောက်လာပါက dynamic_content Post ထဲမှ ပထမဆုံး ပုံ (၂) ပုံ (content_image_1_url, content_image_2_url) ကို ပြသပါ။
ပုံ ၂ ပုံ၏အောက်တွင် stage_1_next_button_image_url တွင် သတ်မှတ်ထားသော Next Button (ပုံ) တစ်ခု ကို ပြသပါ။
assigned_ssid က UNIQUE_ID နဲ့ ကိုက်ညီသော dynamic_content Post ကို ရှာဖွေပြိး ပြသပါ။ (ကိုက်ညီမှုမရှိပါက မည်သည့် dynamic content မှ မပြသဘဲ မူရင်း Post အတိုင်းသာ ဆက်လက်ဖော်ပြပါ။ Random ခေါ်ယူခြင်း မပြုလုပ်ပါ။)
အဆင့် (၂) – Middle Stage (Random Original Post 1):
Start Page မှ Next Button ကို နှိပ်လိုက်ပါက မတူညီသော random original post အသစ်တစ်ခု သို့ redirect လုပ်ပါ။
ထို random post တွင် dynamic_content Post ထဲမှ တတိယပုံ (ပုံ-၃) နှင့် စတုတ္ထပုံ (ပုံ-၄) နှစ်ပုံ ကို ပြသပါ။
ပုံနှစ်ပုံ၏အောက်တွင် stage_2_next_button_image_url တွင် သတ်မှတ်ထားသော Next Button (ပုံ) တစ်ခု ကို ဆက်လက်ပြသပါ။
အဆင့် (၃) – Final Stage (Random Original Post 2):
Middle Stage မှ Next Button ကို နှိပ်လိုက်ပါက မတူညီသော random original post အသစ်တစ်ခု သို့ redirect လုပ်ပါ။
ထို random post တွင် dynamic_content Post ရဲ့ ပုံအားလုံး (အစအဆုံး ပုံအားလုံး) ကို ပြသပါ။
ဤအဆင့်သည် နောက်ဆုံးဖြစ်သောကြောင့် Next Button ကို မပြသတော့ပါ။
နောက်ဆုံးပုံများ၏အောက်တွင် အောက်ပါစာသားကို ပြသပါ။
“Thank you for reading until the end. May you be blessed with good health and happiness, and may you embrace many wonderful new days.”
အဆိုပါစာသားအောက်တွင် show_global_cta_in_final_stage Radio Button ကို yes ရွေးထားပါက global_default_cta_image_url ပုံနှင့် global_default_cta_link_url link ကို ချိတ်ဆက်ပြီး ပြသပါ။
Images Display: ပုံများကို အပေါ်အောက် ဒေါင်လိုက်စီပြီး ပြသပါ။ ပုံများကို Center တည်ရှိပြီး Original Size အတိုင်း ပြသပါ။ (Small Screen တွင် 100% max-width)
Random Post Selection Logic: Start Page, Middle Stage, Final Stage အတွက် ရွေးချယ်သော Regular Posts များသည် လုံးဝ မတူညီသော Post ၃ ခု ဖြစ်ရမည်။
Error Handling: Page Post Type များ (ဥပမာ: Privacy Policy) ကို Home Page (Blog Post Listing) Main Query မှ ဖယ်ထုတ်ပေးပြီး Dynamic Workflow ကလည်း Page များနှင့် တွဲဖက် အလုပ်မလုပ်စေရန် Fix လုပ်ပေးပါ။

ဤ Workflow (1) ကို Step-by-Step Guide အသေးစိတ် (CPT UI, ACF Field Creation, functions.php, content-single.php, style.css Code များနှင့် Social Media Link Formatting အပါအဝင် – ACF Free Version ကန့်သတ်ချက်များအရ) ရေးသားပေးပါ။”

==================================================

ကောင်းပါပြီခင်ဗျာ။ WordPress Website Development specialist တစ်ယောက်အနေနဲ့ ACF Free Version ရဲ့ ကန့်သတ်ချက်များ (Repeater Field, True/False Stylised UI, Options Page မပါဝင်ခြင်း) ကို ထည့်သွင်းစဉ်းစားပြီး Workflow (1) ကို အကောင်အထည်ဖော်နိုင်ရန် အသေးစိတ် Step-by-Step Guide ကို အစအဆုံး ပြန်လည်စတင်လိုက်ပါပြီ။ Token Limit ကို စီမံခန့်ခွဲပြီး တစ်ဆင့်ချင်းစီ ပို့ပေးသွားပါမယ်။

### Workflow (1) – အဆင့် ၃ ဆင့်ဖြင့် ပုံများပြသခြင်း (ACF Free Version – Update 2)

ဒီ Workflow (1) မှာဆိုရင် Facebook ကနေ `?ssid` ပါတဲ့ လင့်နဲ့ ဝင်လာရင် Dynamic Content Post ရဲ့ ပုံတွေကို မူရင်း Post ပေါ်မှာ အဆင့် ၃ ဆင့်နဲ့ (ပုံ ၂ ပုံ၊ ပုံ ၁ ပုံ၊ ကျန်ပုံများအားလုံး) ပြသသွားမှာ ဖြစ်ပါတယ်။ နောက်ဆုံးအဆင့်မှာ Global CTA (ပုံ+Link) ကို On/Off လုပ်နိုင်ပါတယ်။

**ACF Free Version ကန့်သတ်ချက်များအရ:**

* `Repeater Field` ကို အသုံးပြုနိုင်မည်မဟုတ်ပါ။ ထို့ကြောင့် ပုံအရေအတွက်ကို ကန့်သတ်ပြီး `content_image_1_url`, `content_image_2_url` စသည်ဖြင့် သီးခြား Fields များ ဖန်တီးပါမည်။
* `True/False` Field ကို Stylised UI ဖြင့် သုံး၍မရပါ။ `Checkbox` သို့မဟုတ် `Radio Buttons` ကို အစားထိုး အသုံးပြုပါမည်။
* `Options Page` မပါဝင်ပါ။ ထို့ကြောင့် Global CTA Settings များကို ပထမဆုံး `dynamic_content` Post မှ ယူသုံးပါမည်။

**လိုအပ်တဲ့ Plugins များ:**

1. **ACF (Advanced Custom Fields)** (Free Version)
2. **CPT UI (Custom Post Type UI)**
3. **Classic Editor** (Optional, WordPress Block Editor နဲ့ အဆင်မပြေရင် သုံးပါ)

**Step 1: Plugins Install & Custom Post Type (`dynamic_content`) ဖန်တီးခြင်း**

ပထမဆုံးအနေနဲ့ `dynamic_content` ဆိုတဲ့ Custom Post Type (CPT) တစ်ခုကို ဖန်တီးပါမယ်။ ဒီ CPT က ကျွန်တော်တို့ Dynamic Image တွေနဲ့ Button တွေကို ထိန်းချုပ်မယ့် Post တွေအတွက် ဖြစ်ပါတယ်။

1. **Plugins Install:**
* WordPress Dashboard ကို ဝင်ပါ။
* `Plugins` -> `Add New` ကို သွားပါ။
* `ACF (Advanced Custom Fields)` နဲ့ `CPT UI (Custom Post Type UI)` ကို Search Box မှာ ရိုက်ထည့်ပြီး **Install Now** နှင့် **Activate** လုပ်ပါ။
* Classic Editor ကို လိုအပ်ရင် Install လုပ်နိုင်ပါတယ်။
2. **CPT UI ဖြင့် Custom Post Type ဖန်တီးခြင်း:**
* WordPress Dashboard ဘယ်ဘက် Menu မှာ `CPT UI` -> `Add/Edit Post Types` ကို နှိပ်ပါ။
* အောက်ပါ အချက်အလက်များကို ဖြည့်သွင်းပါ။

* **Post Type Slug:** `dynamic_content` (ဒါက URL မှာ ပေါ်မယ့် နာမည်ဖြစ်ပြီး အင်္ဂလိပ်စာလုံးအသေး၊ 띄어띄 မပါဘဲ ရေးရပါမယ်)
* **Plural Label:** `Dynamic Contents` (Dashboard Menu မှာ ပေါ်မယ့် နာမည်)
* **Singular Label:** `Dynamic Content` (Post တစ်ခုချင်းစီအတွက် နာမည်)

* **Settings အောက်မှာ (အရေးကြီးဆုံးများ):**
* `Has Archive`: `False` (ဒီ Post Type ကို Website ရဲ့ Archive Page တွေမှာ မပေါ်စေချင်လို့ပါ။)
* `Publicly Queryable`: `True` (Link နဲ့ ခေါ်လို့ ရအောင်)
* `Exclude From Search`: `True` (Website Search မှာ မပေါ်စေချင်လို့)
* `Show in Nav Menus`: `False` (Navigation Menu မှာ မပေါ်စေချင်လို့)
* `Supports` အောက်တွင် `Title` ကိုသာ ရွေးထားပေးပါ။ (Editor, Thumbnail စသည်တို့ကို ဖြုတ်ပါ)
* ကျန်တာတွေကို Default အတိုင်း ထားနိုင်ပါတယ်။
* `Add Post Type` Button ကို နှိပ်ပြီး သိမ်းလိုက်ပါ။

**Step 2: ACF Custom Fields ဖန်တီးခြင်း (`dynamic_content` Post Type အတွက်)**

ACF Free Version ကန့်သတ်ချက်များအရ Repeater Field ကို သုံး၍မရသောကြောင့် ပုံများကို `content_image_1_url`, `content_image_2_url` စသည်ဖြင့် တစ်ခုချင်းစီ သတ်မှတ်ပေးရပါမည်။ ဤ Workflow တွင် အများဆုံး ပုံ ၅ ပုံအထိ ပြသနိုင်စေရန် Fields များ ဖန်တီးပါမည်။ လိုအပ်ပါက ထပ်တိုးနိုင်သည်။

1. **ACF Field Group (Dynamic Content Fields) ဖန်တီးခြင်း:**
* WordPress Dashboard -> `ACF` -> `Field Groups` -> `Add New` ကို နှိပ်ပါ။
* **Title:** `Dynamic Content Fields` လို့ ပေးပါ။
* **Fields များ ထည့်သွင်းခြင်း:**

* **Field 1-5: Content Images (5 ပုံအထိ)**
* `+ Add Field` ကို နှိပ်ပါ။
* **Field Label:** `Content Image 1 URL`
* **Field Name:** `content_image_1_url`
* **Field Type:** `URL`
* (ဤအတိုင်းပဲ **Content Image 2 URL** မှ **Content Image 5 URL** အထိ Fields ၅ ခု ဖန်တီးပါ။)
* **Field Label:** `Content Image 2 URL` / **Field Name:** `content_image_2_url` / **Field Type:** `URL`
* **Field Label:** `Content Image 3 URL` / **Field Name:** `content_image_3_url` / **Field Type:** `URL`
* **Field Label:** `Content Image 4 URL` / **Field Name:** `content_image_4_url` / **Field Type:** `URL`
* **Field Label:** `Content Image 5 URL` / **Field Name:** `content_image_5_url` / **Field Type:** `URL`

* **Field 6: Stage 1 Next Button Image URL**
* `+ Add Field` ကို နှိပ်ပါ။
* **Field Label:** `Stage 1 Next Button Image URL`
* **Field Name:** `stage_1_next_button_image_url`
* **Field Type:** `URL`

* **Field 7: Stage 2 Next Button Image URL**
* `+ Add Field` ကို နှိပ်ပါ။
* **Field Label:** `Stage 2 Next Button Image URL`
* **Field Name:** `stage_2_next_button_image_url`
* **Field Type:** `URL`

* **Field 8: Show Global CTA in Final Stage (Control Field)**
* `+ Add Field` ကို နှိပ်ပါ။
* **Field Label:** `Show Global CTA in Final Stage?`
* **Field Name:** `show_global_cta_in_final_stage`
* **Field Type:** `Radio Buttons`
* **Choices:**
* `yes : Yes`
* `no : No`
* **Default Value:** `no`
* **Return Value:** `Value`

* **Field 9: Global Default CTA Image URL**
* `+ Add Field` ကို နှိပ်ပါ။
* **Field Label:** `Global Default CTA Image URL`
* **Field Name:** `global_default_cta_image_url`
* **Field Type:** `URL`
* **Instructions:** `Please fill this field ONLY in the very first “Dynamic Content” post you create. Its value will be used as the site-wide default CTA image.`

* **Field 10: Global Default CTA Link URL**
* `+ Add Field` ကို နှိပ်ပါ။
* **Field Label:** `Global Default CTA Link URL`
* **Field Name:** `global_default_cta_link_url`
* **Field Type:** `URL`
* **Instructions:** `Please fill this field ONLY in the very first “Dynamic Content” post you create. Its value will be used as the site-wide default CTA link.`

* **Field 11: Assigned SSID**
* `+ Add Field` ကို နှိပ်ပါ။
* **Field Label:** `Assigned SSID`
* **Field Name:** `assigned_ssid`
* **Field Type:** `Text`
* **Placeholder Text:** `Unique ID for this dynamic content`

* **Location:**
* `Show this field group if` အောက်တွင် `Post Type` `is equal to` `Dynamic Content` ကို ရွေးချယ်ပါ။ (ဒါမှ ဒီ Fields တွေကို `dynamic_content` Post တွေမှာ ပေါ်စေမှာပါ)

* `Publish` Button ကို နှိပ်ပြီး သိမ်းလိုက်ပါ။

**Step 3: Dummy Data ထည့်သွင်းခြင်း**

ကျွန်တော်တို့ရဲ့ Workflow ကို စမ်းသပ်ဖို့အတွက် `dynamic_content` Post အနည်းငယ်နဲ့ မူရင်း Post အနည်းငယ်ကို ဖန်တီးထားပါမယ်။

1. **`dynamic_content` Post များ ဖန်တီးခြင်း:**
* WordPress Dashboard -> `Dynamic Contents` -> `Add New` ကို သွားပါ။
* **Title:** `My First Dynamic Content` လို့ ပေးပါ။
* **Content Image Fields (5 ခုလုံး):**
* ပုံ `URL` များကို အနည်းဆုံး ၅ ခုခန့် (သို့မဟုတ် လိုအပ်သလောက်) ထည့်ပေးပါ။ (ဥပမာ: Placeimg, Picsum, Unsplash က ပုံ Link များ)
* `https://via.placeholder.com/600×400/FF5733/FFFFFF?text=Image+1`
* `https://via.placeholder.com/600×400/33FF57/FFFFFF?text=Image+2`
* `https://via.placeholder.com/600×400/3357FF/FFFFFF?text=Image+3`
* `https://via.placeholder.com/600×400/F0FF33/000000?text=Image+4`
* `https://via.placeholder.com/600×400/FF33F0/FFFFFF?text=Image+5`
* **မှတ်ချက်:** ပုံ ၅ ပုံအောက်သာရှိပါက ကျန် Field များကို ဗလာထားနိုင်ပါသည်။ Code က အလိုအလျောက် စစ်ဆေးပေးပါမည်။
* **Stage 1 Next Button Image URL:** Next Button အဖြစ် အသုံးပြုမယ့် ပုံ Link ကို ထည့်ပါ။ (ဥပမာ: `https://via.placeholder.com/300×100/3357FF/FFFFFF?text=Next+Stage+1`)
* **Stage 2 Next Button Image URL:** Next Button အဖြစ် အသုံးပြုမယ့် ပုံ Link ကို ထည့်ပါ။ (ဥပမာ: `https://via.placeholder.com/300×100/F0FF33/000000?text=Next+Stage+2`)
* **Show Global CTA in Final Stage?:** `Yes` သို့မဟုတ် `No` ကို ရွေးပါ။
* **Global Default CTA Image URL:** (အရေးကြီးဆုံး) Global CTA အဖြစ် အသုံးပြုမယ့် ပုံ Link ကို ထည့်ပါ။ (ဥပမာ: `https://via.placeholder.com/400×150/FF0000/FFFFFF?text=Global+CTA+Image`) **ဒီ Post တစ်ခုတည်းမှာသာ ဖြည့်ပေးပါ။**
* **Global Default CTA Link URL:** (အရေးကြီးဆုံး) Global CTA ကို နှိပ်ရင် သွားမယ့် Link ကို ထည့်ပါ။ (ဥပမာ: `https://www.google.com`) **ဒီ Post တစ်ခုတည်းမှာသာ ဖြည့်ပေးပါ။**
* **Assigned SSID:** `demo_ssid_1` (သို့မဟုတ် သင့်စိတ်ကြိုက် Unique ID တစ်ခု) လို့ ထည့်ပါ။
* `Publish` ကို နှိပ်ပါ။
* အလားတူပဲ `dynamic_content` Post နောက်တစ်ခု (ဥပမာ: `My Second Dynamic Content` နဲ့ `assigned_ssid` ကို `demo_ssid_2` လို) ထပ်ဖန်တီးပေးပါ။ **ဒီဒုတိယ Post မှာ Global Default CTA Fields တွေကို ဖြည့်စရာ မလိုတော့ပါဘူး။** (ပထမ Post က တန်ဖိုးကိုပဲ ယူသုံးပါမယ်)

2. **Regular Post (သို့မဟုတ် Page) များ ဖန်တီးခြင်း:**
* WordPress Dashboard -> `Posts` -> `Add New` ကို သွားပါ။
* **Title:** `My Original Post 1` လို့ ပေးပါ။
* Content မှာ စာသားတွေ အနည်းငယ် ရေးပြီး `Publish` လုပ်ပါ။
* အလားတူ `My Original Post 2`, `My Original Post 3` စသဖြင့် Post အနည်းဆုံး ၃ ခုခန့် ဖန်တီးထားပေးပါ။ (ဒီ Post တွေကို random redirect လုပ်ဖို့ သုံးပါမယ်)

**Step 4: `functions.php` တွင် Custom Functions များ ထည့်သွင်းခြင်း**

ဒီအဆင့်က အရေးကြီးဆုံးပါပဲ။ URL parameter တွေ ဖတ်တာ၊ Dynamic Content Query လုပ်တာ၊ Random Post တွေ ခေါ်တာ စတဲ့ Logic တွေအားလုံးကို ဒီမှာ ရေးပါမယ်။ 1. **Child Theme `functions.php` ကို ဖွင့်ခြင်း:** * WordPress Dashboard -> `Appearance` -> `Theme File Editor` ကို သွားပါ။ * ညာဘက်က `Theme Files` အောက်မှာ `Theme Functions (functions.php)` ကို ရှာပြီး နှိပ်ပါ။ * **Child Theme ကို အသုံးပြုဖို့ အထူးအကြံပြုလိုပါတယ်** (Parent Theme ရဲ့ functions.php ကို တိုက်ရိုက်ပြင်ဆင်ရင် Theme Update လုပ်တဲ့အခါ Code တွေ ပျက်သွားနိုင်ပါတယ်။) Child Theme မရှိသေးရင် အင်တာနက်မှာ “How to create a WordPress Child Theme” လို့ ရှာပြီး အရင်လုပ်ထားပါ။ 2. **Code ထည့်သွင်းခြင်း:** * `functions.php` ရဲ့ အောက်ဆုံးမှာ အောက်ပါ Code များကို ထည့်သွင်းပါ။

==>>`functions.php` (နောကဆုံး ဆိုက်မှာ သုံးထားတဲ့ file ,ready made file  copy/paste လုပ်ပြီး အစားထိုးထည့်ရန်)

`Save File` ကို နှိပ်ပြီး သိမ်းလိုက်ပါ။

======================

**Step 5: `content-single.php` ကို ပြင်ဆင်ခြင်း**

ဒီအဆင့်မှာတော့ Theme ရဲ့ `content-single.php` (သို့မဟုတ် `single.php`) ဖိုင်ကို ပြင်ဆင်ပြီး Dynamic Content တွေကို ပြသတာ၊ Next Button တွေ ဖန်တီးတာ စတာတွေကို လုပ်ပါမယ်။ သင့် Theme မှာ `the_content();` ပါတဲ့ ဖိုင်ကို ရှာဖွေပြီး ပြင်ဆင်ပါ။

1. **Theme File Editor ဖွင့်ခြင်း:** * WordPress Dashboard -> `Appearance` -> `Theme File Editor` ကို သွားပါ။ * ညာဘက် `Theme Files` အောက်မှာ `single.php` (သို့မဟုတ် `content-single.php`) ကို ရှာပြီး ဖွင့်ပါ။

2. **Code ထည့်သွင်းခြင်း:** *

`the_content();` ကို ခေါ်ပြီးတဲ့နေရာ (Post ရဲ့ မူရင်း Content ပြသပြီးတဲ့နေရာ) မှာ အောက်ပါ Code များကို ထည့်သွင်းပါ။

==>> `content-single.php` (နောကဆုံး ဆိုက်မှာ သုံးထားတဲ့ file ,ready made file  copy/paste လုပ်ပြီး အစားထိုးထည့်ရန်)

* `Save File` ကို နှိပ်ပြီး သိမ်းလိုက်ပါ။

**Step 6: `style.css` ဖြင့် ပုံစံများ ထည့်သွင်းခြင်း (Styling)**

Dynamic Content ပုံတွေနဲ့ Button တွေက လှပစေဖို့အတွက် အနည်းငယ် CSS ထည့်ပါမယ်။

1. **Theme File Editor ဖွင့်ခြင်း:**
* WordPress Dashboard -> `Appearance` -> `Theme File Editor` ကို သွားပါ။
* ညာဘက် `Theme Files` အောက်မှာ `style.css` ကို ရှာပြီး ဖွင့်ပါ။
2. **CSS Code ထည့်သွင်းခြင်း:**
* `style.css` ဖိုင်ရဲ့ အောက်ဆုံးမှာ အောက်ပါ Code များကို ထည့်သွင်းပါ။

`style.css` (နောကဆုံး ဆိုက်မှာ သုံးထားတဲ့ file ,ready made file  copy/paste လုပ်ပြီး အစားထိုးထည့်ရန်)

* `Update File` ကို နှိပ်ပြီး သိမ်းလိုက်ပါ။

**Step 7: စမ်းသပ်ခြင်း**

အခုဆိုရင် Workflow (1) ကို စမ်းသပ်ကြည့်လို့ ရပါပြီ။

1. **Start Page (Stage 1) ကို ဝင်ကြည့်ခြင်း:**
* သင်ဖန်တီးထားတဲ့ မူရင်း Post တစ်ခု (ဥပမာ: `My Original Post 1`) ရဲ့ Link ကို ယူပါ။
* `?ssid=demo_ssid_1` (သင် Dynamic Content Post မှာ ထည့်ထားတဲ့ `assigned_ssid` နဲ့ တိုက်ဆိုင်ရပါမယ်) ကို နောက်ကနေ ထည့်ပြီး Browser မှာ ဖွင့်ပါ။
* ဥပမာ: `https://yourdomain.com/my-original-post-1/?ssid=demo_ssid_1`
* သင့် Post Content ရဲ့အောက်မှာ Dynamic Content Post ထဲက ပထမဆုံး ပုံ ၂ ပုံနဲ့ Stage 1 Next Button ပေါ်လာတာကို တွေ့ရပါမယ်။
* `assigned_ssid` မတူညီတဲ့ `?ssid=wrong_id` လိုမျိုးနဲ့ ဝင်ကြည့်ရင် Dynamic Content တွေ မပေါ်တာကို သတိထားပါ။

2. **Stage 2 ကို သွားခြင်း:**
* Stage 1 မှာ ပေါ်နေတဲ့ Next Button ကို နှိပ်ပါ။
* Website က Random Post အသစ်တစ်ခုဆီကို Redirect လုပ်သွားပြီး Dynamic Content Post ထဲက တတိယပုံ (Image 3) နဲ့ Stage 2 Next Button ပေါ်လာတာကို တွေ့ရပါမယ်။ (Content Image 3 URL ကို ဖြည့်ထားဖို့ လိုပါမယ်)

3. **Final Stage ကို သွားခြင်း:**
* Stage 2 မှာ ပေါ်နေတဲ့ Next Button ကို ထပ်နှိပ်ပါ။
* Website က Random Post အသစ်တစ်ခုဆီကို Redirect လုပ်သွားပြီး Dynamic Content Post ထဲက ပုံအားလုံး (Content Image 1 to 5, ဖြည့်ထားသမျှ) ပေါ်လာပါမယ်။
* နောက်ဆုံးစာသား (Thank you message) နဲ့ သင် `dynamic_content` Post မှာ `Show Global CTA in Final Stage` ကို `Yes` လုပ်ထားခဲ့ရင် Global CTA ပုံ+Link ပါ ပေါ်လာတာကို တွေ့ရပါမယ်။ (`No` လုပ်ထားရင် Global CTA က ပေါ်လာမှာ မဟုတ်ပါဘူး)

**အထူးဂရုပြုရန်:**

* **Child Theme:** Customization တွေ အားလုံးကို Child Theme မှာ လုပ်တာ အကောင်းဆုံးပါ။ Parent Theme ကို တိုက်ရိုက်ပြင်ရင် Theme Update လုပ်တဲ့အခါ သင့် Code တွေ ပျက်သွားနိုင်ပါတယ်။
* **Error Handling:** Code တွေ ရေးသားတဲ့အခါ PHP Syntax Error တွေ မဖြစ်အောင် အထူးဂရုစိုက်ပါ။ `Theme File Editor` ကနေ ပြင်ဆင်ရင် Syntax မှားတာနဲ့ Website က Error ပြပြီး ဝင်မရတော့တာမျိုး ဖြစ်နိုင်ပါတယ်။ ဒီလိုဖြစ်ခဲ့ရင် FTP (သို့မဟုတ် Hosting File Manager) ကနေ `functions.php` ဖိုင်ကို ပြန်ပြင်ရပါမယ်။
* **Theme Integration:** သင့် Theme ရဲ့ HTML Structure ပေါ်မူတည်ပြီး `content-single.php` ထဲက `div` တွေ၊ `class` တွေ အနည်းငယ် ချိန်ညှိဖို့ လိုအပ်နိုင်ပါတယ်။
* **Performance:** `get_posts` Query တွေကို ထိထိရောက်ရောက် သုံးဖို့ အရေးကြီးပါတယ်။ လက်ရှိ Code ကတော့ သင့်လိုအပ်ချက်နဲ့ ကိုက်ညီအောင် ရေးပေးထားပါတယ်။
* **Security:** `sanitize_text_field()` နဲ့ `esc_url()` လို Functions တွေက URL Parameter တွေနဲ့ Output တွေကို Security အတွက် သန့်စင်ပေးပါတယ်။

အားလုံးပြီးပါပြီခင်ဗျာ။ ဒီ Step-by-Step လမ်းညွှန်က ACF Free Version ရဲ့ ကန့်သတ်ချက်တွေနဲ့ ကိုက်ညီပြီး Workflow (1) ကို အောင်မြင်စွာ အကောင်အထည်ဖော်နိုင်လိမ့်မယ်

===================
မှတ်ချက်။ ။ အောက်ပါလိုအပ်သည်များ ဖြည့်စွက်ချက်များမှာ နောက်ဆုံး အသုံးပြုထားသော php 3 မှာ update လုပ်ပြီး ပါ၀င်ပြိးဖြစ်ပါတယ်။
=============================

Random Redirect နဲ့ပတ်သက်ပြီး **”total 3 links စလုံး မတူမှဖြစ်မှာပါ”** ဆိုတဲ့ သင့်ရဲ့ လိုအပ်ချက်ကိုလည်း အပြည့်အဝ နားလည်ပါတယ်။ ဒါက User Experience အတွက် ကောင်းမွန်တဲ့ ဆုံးဖြတ်ချက်ပါ။

အထက်မှာ ကျွန်တော်ရေးပေးထားတဲ့ `functions.php` ထဲက Code မှာ အဲဒီလို လိုအပ်ချက်မျိုးကို ကိုင်တွယ်ဖို့အတွက် **`get_random_post_id()` function ထဲမှာ `post__not_in` parameter ကို အသုံးပြုထားပြီးသား ဖြစ်ပါတယ်ခင်ဗျာ။**

ဒီ Code က ဘယ်လို အလုပ်လုပ်လဲဆိုရင်:
Stage 1 Next Button ကို နှိပ်တဲ့အခါ:
handle_dynamic_content_workflow function ထဲမှာ get_random_post_id( $current_post_id ) ကို ခေါ်ပါတယ်။ $current_post_id ဆိုတာက အခုလက်ရှိ Start Page အဖြစ် အသုံးပြုနေတဲ့ My Original Post 1 (သို့မဟုတ် သင့်ရဲ့ ရှိပြီးသား Regular Post တစ်ခု) ရဲ့ ID ဖြစ်ပါတယ်။
ဒါဆိုရင် get_random_post_id() က My Original Post 1 ကို ဖယ်ထုတ်ပြီး ကျန်တဲ့ Regular Posts တွေထဲကနေ တစ်ခုကို ကျပန်းရွေးပေးပါလိမ့်မယ်။ ဒီ Post ကို Middle Stage အတွက် သုံးပါမယ်။
Stage 2 Next Button ကို နှိပ်တဲ့အခါ:
ထပ်မံပြီး handle_dynamic_content_workflow function ထဲမှာ get_random_post_id( $current_post_id ) ကို ထပ်ခေါ်ပါတယ်။ ဒီတစ်ခါ $current_post_id ဆိုတာက Middle Stage အဖြစ် အသုံးပြုနေတဲ့ Random Post ရဲ့ ID ဖြစ်ပါတယ်။
ဒါဆိုရင် get_random_post_id() က အဲဒီ Middle Stage Post ကို ဖယ်ထုတ်ပြီး ကျန်တဲ့ Regular Posts တွေထဲကနေ တစ်ခုကို ကျပန်းရွေးပေးပါလိမ့်မယ်။ ဒီ Post ကို Final Stage အတွက် သုံးပါမယ်။
ဒါပေမဲ့ ဒီနေရာမှာ နည်းနည်းလေး ထပ်ပြီး ချိန်ညှိဖို့ လိုအပ်နိုင်တာတစ်ခု ရှိပါတယ်။
လက်ရှိ Code က Middle Stage နဲ့ Final Stage နှစ်ခုစလုံးမှာ current_post_id တစ်ခုတည်းကိုပဲ ဖယ်ထုတ်ထားပါတယ်။ ဆိုလိုတာက:
Start Page (Post A) -> Middle Stage (Post B – A မှလွဲ)
Middle Stage (Post B) -> Final Stage (Post C – B မှလွဲ)
ဒီလိုအလုပ်လုပ်တဲ့အခါ Post C ဟာ Post A နဲ့ တူနေနိုင်ပါတယ်။ ဥပမာ: Start Page (Post 1) -> Middle Stage (Post 2) -> Final Stage (Post 1 ပြန်ဖြစ်) လိုမျိုး ဖြစ်နိုင်ပါတယ်။
သင့်ရဲ့ လိုအပ်ချက်က “total 3 links စလုံး မတူမှဖြစ်မှာပါ” ဖြစ်တဲ့အတွက် Middle Stage က Final Stage ကို Redirect လုပ်တဲ့အခါ Start Page ရော၊ Middle Stage ရော နှစ်ခုလုံးကို ဖယ်ထုတ်ပြီး Random Post ကို ရွေးရပါမယ်။
ဒီလိုဖြစ်အောင် ကျွန်တော် functions.php ထဲက handle_dynamic_content_workflow function ကို အနည်းငယ် ပြင်ဆင်ပေးပါမယ်။ exclude_post_ids array တစ်ခုကို ထပ်ပြီး အသုံးပြုပါမယ်။

အပြောင်းအလဲများ ရှင်းလင်းချက်:
get_random_post_id() function ပြောင်းလဲခြင်း:
Parameters ကို get_random_post_id( $exclude_id = 0 ) ကနေ get_random_post_id( $exclude_ids = array() ) အဖြစ် ပြောင်းလိုက်ပါတယ်။ ဒါမှ Post ID တစ်ခုတည်းမဟုတ်ဘဲ Array (Posts IDs များစွာ) ကို ဖယ်ထုတ်နိုင်မှာ ဖြစ်ပါတယ်။
‘post__not_in’ => (array) $exclude_ids, လို့ ပြောင်းလိုက်ပါတယ်။
handle_dynamic_content_workflow() function ပြောင်းလဲခြင်း:
$excluded_post_ids ဆိုတဲ့ Array အသစ်တစ်ခုကို စလုပ်ကတည်းက ဖန်တီးထားပါတယ်။
Start Page ကနေ Middle Stage ကို သွားတဲ့အခါ:
$excluded_post_ids ထဲမှာ current_post_id (Start Page Post) ကို ထည့်ပြီး get_random_post_id() ကို ခေါ်ပါတယ်။ ဒါ့အပြင် URL မှာ prev_posts=$current_post_id ဆိုပြီး Start Page ရဲ့ ID ကို နောက် Stage ကို ပါသွားအောင် ပို့ပေးလိုက်ပါတယ်။
Middle Stage ကနေ Final Stage ကို သွားတဲ့အခါ:
URL ကနေ prev_posts parameter ကို ပြန်ဖတ်ယူပါတယ်။
လက်ရှိ Middle Stage ရဲ့ Post ID နဲ့ URL ကနေ ဖတ်ယူခဲ့တဲ့ prev_posts (Start Page ID) နှစ်ခုစလုံးကို ပေါင်းပြီး get_random_post_id() ကို ပို့ပေးလိုက်ပါတယ်။
ဒါဆိုရင် get_random_post_id() က Start Page Post ID ရော၊ Middle Stage Post ID ရော နှစ်ခုစလုံးကို ဖယ်ထုတ်ပြီး Final Stage အတွက် တတိယမြောက် မတူညီတဲ့ Random Post တစ်ခုကို ရွေးပေးပါလိမ့်မယ်။
အရေးကြီးသည့် အချက်များ:
Posts အရေအတွက် လုံလောက်ရန်: သင့် Website မှာ Regular Posts ၅၀ လောက်ရှိတယ်ဆိုတော့ Random Redirect လုပ်ဖို့အတွက် Posts အရေအတွက် လုံလောက်ပါတယ်။ အကယ်၍ ၃ ပို့ထက် နည်းနေမယ်ဆိုရင် (ဥပမာ ၂ ပို့ပဲရှိတယ်) Random Redirect လုပ်ဖို့ ခက်ခဲသွားပါမယ်။
Unique Posts: ဒီ Code က Start Page, Middle Stage, Final Stage ၃ ခုစလုံးအတွက် မတူညီတဲ့ Regular Posts တွေကို အသုံးပြုနိုင်ဖို့ သေချာစေပါလိမ့်မယ်။
သင်လုပ်ရမှာက:
Step 4: functions.php တွင် Custom Functions များ ထည့်သွင်းခြင်း အောက်မှာ ကျွန်တော်အရင်ပေးခဲ့တဲ့ Code Block အဟောင်းကို အခုကျွန်တော်ပေးထားတဲ့ Code Block အသစ်နဲ့ အစားထိုး လိုက်ရုံပါပဲ။ ကျန်တဲ့ Steps တွေ (ACF Field Group, content-single.php, style.css တွေ) က အရင်အတိုင်းပဲ ဆက်လက်အလုပ်လုပ်ပါလိမ့်မယ်။

=================================

Workflow (1) ပြင်ဆင်ချက်များ (Update 3)
ပြင်ဆင်ချက် (၁): Home Page တွင် Pages များ မပေါ်အောင် ပြင်ဆင်ခြင်း
ပြဿနာ: Privacy Policy, Terms of Service စတဲ့ WordPress Pages Post Type တွေဟာ Home Page (Main Query) မှာ Post တွေနဲ့အတူ ရောပြီး ပေါ်နေတာ။
ဖြေရှင်းချက်: functions.php ထဲက exclude_dynamic_content_from_main_query function ကို ပြင်ဆင်ပြီး Pages တွေကို Home Page Main Query ကနေ ဖယ်ထုတ်ပါမယ်။
ပြင်ဆင်ချက် (၂): Dynamic Content Titles များကို ဖယ်ရှားခြင်း၊ ပုံများကို Center & Original Size ပြုလုပ်ခြင်း
ပြဿနာ (က): Dynamic Content – Stage 1/2/Final စတဲ့ Title တွေ ပေါ်နေတာ။
ဖြေရှင်းချက် (က): content-single.php ထဲက

Tags တွေကို ဖယ်ထုတ်ပါမယ်။
ပြဿနာ (ခ): ပုံတွေက center မဖြစ်တာ၊ Original Size မဟုတ်ဘဲ max-width: 100%; ဖြစ်နေတာ။
ဖြေရှင်းချက် (ခ): style.css ထဲက dynamic-image အတွက် max-width ကို ဖယ်ထုတ်ပြီး width: auto; နဲ့ display: block; margin: 0 auto; ကို အသုံးပြုပါမယ်။
ပြင်ဆင်ချက် (၃): Middle Stage Flow ကို ပြောင်းလဲခြင်း (ပုံ ၂ ပုံ + Button)
ပြဿနာ: Middle Stage မှာ ပုံ ၃ တစ်ပုံတည်း ပြနေတာကို ပုံ ၃ နဲ့ ပုံ ၄ နှစ်ပုံပြပြီး Next Button ပြချင်တာ။
ဖြေရှင်းချက်: functions.php ထဲက handle_dynamic_content_workflow function နဲ့ content-single.php ထဲက Display Logic တွေကို ပြင်ဆင်ပြီး Middle Stage မှာ ပုံ ၂ ပုံ (Image 3, Image 4) ပြသပါမယ်။

=============
functions.php ပြောင်းလဲမှုများ ရှင်းလင်းချက်:
exclude_dynamic_content_and_pages_from_main_query:
Function နာမည်ကို ပိုရှင်းအောင် ပြောင်းလိုက်ပါတယ်။
$query->is_home() condition ကို ထပ်ထည့်လိုက်ပါတယ်။ ဒါမှ ဒီ pre_get_posts action က Home Page (Blog Post Listing Page) မှာပဲ အလုပ်လုပ်ပြီး တခြား Archive Page တွေမှာ Pages တွေ ပေါ်နေတာကို မထိခိုက်စေမှာပါ။
$post_types = array_diff( $post_types, array( ‘dynamic_content’, ‘page’ ) ); ဖြင့် dynamic_content CPT နဲ့ page Post Type နှစ်ခုစလုံးကို Main Query ကနေ ဖယ်ထုတ်လိုက်ပါပြီ။
handle_dynamic_content_workflow:
Middle Stage အတွက် imgidx parameter ကို 2 ကနေ 2-3 အဖြစ် ပြောင်းလိုက်ပါတယ်။ ဒါက ပုံ ၃ နဲ့ ပုံ ၄ (index 2 နဲ့ 3) ကို ပြသမယ်လို့ ရည်ညွှန်းပါတယ်။
Middle Stage ကနေ Final Stage ကို သွားဖို့ if ($total_images > 3) ကနေ if ($total_images > 4) အဖြစ် ပြောင်းလိုက်ပါတယ်။ ဒါမှ content_image_1_url ကနေ content_image_5_url အထိ ပုံ ၅ ပုံစလုံး ဖြည့်ထားမှသာ Stage 2 (ပုံ 3,4) ပြီးရင် Final Stage (ပုံအားလုံး) ကို သွားနိုင်မှာဖြစ်ပြီး၊ ပုံ ၄ ပုံသာရှိရင် Middle Stage မှာတင် ရပ်သွားပါမယ် (Next Button ပေါ်လာမှာ မဟုတ်ပါဘူး)။

================

content-single.php ပြောင်းလဲမှုများ ရှင်းလင်းချက်:
Title ဖယ်ရှားခြင်း:

Dynamic Content – Stage X

ဆိုတဲ့ lines တွေကို ဖယ်ရှားလိုက်ပါပြီ။
Middle Stage Logic: elseif ( $current_img_index === ‘2’ ) ကို elseif ( $current_img_index === ‘2-3’ ) အဖြစ် ပြောင်းလိုက်ပါတယ်။
Middle Stage မှာ content_images[3][‘image_url’] (ပုံ ၄) ကိုပါ ထပ်ပြသအောင် ထည့်လိုက်ပါတယ်။
Stage 1 Next Button ပေါ်ဖို့ total_images >= 4 (ပုံ ၄ ပုံ အနည်းဆုံးရှိမှ Stage 2 (ပုံ 3,4) ကို သွားနိုင်မယ်) ဆိုတဲ့ Condition ကို ထပ်ထည့်လိုက်ပါတယ်။
Stage 2 Next Button ပေါ်ဖို့ total_images >= 5 (ပုံ ၅ ပုံ အနည်းဆုံးရှိမှ Final Stage (ပုံအားလုံး) ကို သွားနိုင်မယ်) ဆိုတဲ့ Condition ကို ထပ်ထည့်လိုက်ပါတယ်။

=====================

style.css ပြောင်းလဲမှုများ ရှင်းလင်းချက်:
ပုံများကို Center & Original Size:
.dynamic-image အတွက် width: auto; နဲ့ max-width: 100%; (Small Screen တွေမှာ မပြဲသွားအောင်) ကို ပေါင်းစပ်အသုံးပြုလိုက်ပါတယ်။
margin: 0 auto; က ပုံတွေကို Center ချပေးပါလိမ့်မယ်။
.dynamic-content-wrapper မှာ text-align: center; ထားတာကလည်း အထဲက button တွေကို center ချဖို့ ကူညီပါလိမ့်မယ်။

အရေးကြီးသည့် အချက်:

  • dynamic_content Post တွေမှာ ပုံ content_image_1_url ကနေ content_image_5_url အထိ ပုံ ၅ ပုံစလုံးအတွက် URL တွေ ဖြည့်ထားဖို့ လိုအပ်ပါမယ်။ ဒါမှ Stage 2 (ပုံ 3,4) ပြီးရင် Final Stage (ပုံအားလုံး) ကို စနစ်တကျ သွားနိုင်မှာ ဖြစ်ပါတယ်။ ပုံ ၅ ပုံ မပြည့်ရင် Stage 2 မှာ Next Button ပေါ်လာမှာ မဟုတ်ပါဘူး။

နောက်ဆုံးစစ်ဆေးရန်:
dynamic_content Post များတွင် ပုံ ၅ ပုံ (Image 1 to 5) စလုံးအတွက် URL များ ဖြည့်ထားကြောင်း သေချာပါစေ။ (Stage 2 မှာ ပုံ ၃၊ ၄ ပြဖို့နဲ့ Final Stage မှာ ပုံအားလုံးပြဖို့ လိုအပ်ပါမယ်)။
dynamic_content Post များတွင် Stage 1 Next Button Image URL နှင့် Stage 2 Next Button Image URL တို့ကို ဖြည့်ထားကြောင်း သေချာပါစေ။
ပထမဆုံး dynamic_content Post တွင် Global Default CTA Image URL နှင့် Global Default CTA Link URL တို့ကို ဖြည့်ထားကြောင်း သေချာပါစေ။
ဒီပြင်ဆင်မှုတွေက သင့်ရဲ့ တောင်းဆိုချက် အားလုံးကို ဖြည့်ဆည်းပေးနိုင်လိမ့်မယ်လို့ ယုံကြည်ပါတယ်ခင်ဗျာ။ စမ်းသပ်ကြည့်ပြီး တစ်ခုခု ထပ်မေးစရာရှိရင် ပြောပြပေးပါ။

===============

အရေးကြီးသည့် အချက်:
dynamic_content Post တွေမှာ ပုံ content_image_1_url ကနေ content_image_5_url အထိ ပုံ ၅ ပုံစလုံးအတွက် URL တွေ ဖြည့်ထားဖို့ လိုအပ်ပါမယ်။ ဒါမှ Stage 2 (ပုံ 3,4) ပြီးရင် Final Stage (ပုံအားလုံး) ကို စနစ်တကျ သွားနိုင်မှာ ဖြစ်ပါတယ်။ ပုံ ၅ ပုံ မပြည့်ရင် Stage 2 မှာ Next Button ပေါ်လာမှာ မဟုတ်ပါဘူး။

===================

Child Theme Information: အပေါ်ဆုံးက /* နဲ့ */ ကြားမှာရှိတဲ့ Child Theme Information (Theme Name, Theme URI, Template, Version စသည်ဖြင့်) ကို သင့် Child Theme ရဲ့ အချက်အလက်တွေနဲ့ ကိုက်ညီအောင် ပြင်ဆင်ဖို့ မမေ့ပါနဲ့။ အထူးသဖြင့် Template: astra နေရာမှာ သင့် Parent Theme ရဲ့ Folder Name ကို မှန်ကန်စွာ ထည့်သွင်းရပါမယ်။
Existing CSS: သင့် style.css မှာ Theme ရဲ့ မူရင်း CSS တွေ ရှိနေနိုင်ပါတယ်။ ဒီ Code Block က dynamic-content-wrapper အတွက် Style တွေကို လုံးဝအစားထိုးလိုက်တာ ဖြစ်တဲ့အတွက် တခြား Custom CSS တွေရှိရင် ပြန်ထည့်သွင်းဖို့ လိုအပ်နိုင်ပါတယ်။ သို့မဟုတ်ရင်တော့ ဒီ Code Block ကို style.css ရဲ့ အောက်ဆုံးမှာ ပေါင်းထည့်လိုက်တာက ပိုပြီး လုံခြုံပါလိမ့်မယ်။ ဒါပေမဲ့ “အစားထိုး” လို့ တိတိကျကျ ပြောထားတဲ့အတွက် ကျွန်တော် အခုပေးထားတဲ့အတိုင်း အစားထိုးလိုက်ပါ။
======================================

ဆက်လုပ်ရန်

### Workflow (2) – ပုံရှိသလောက် Button နှိပ်၊ တစ်ပုံချင်းစီပြသ၊ နောက်ဆုံးမှ Button မပြ (Updated Prompts for New Chat)

**Prompt:**

“ကျွန်တော် WordPress Website Development specialist တစ်ယောက်အနေနဲ့ အောက်ပါ Workflow (2) ပုံစံကို WordPress Site တစ်ခုမှာ အကောင်အထည်ဖော်လိုပါတယ်။ ACF (Free Version), CPT UI Plugin များကို အသုံးပြုပြီး Step-by-Step အသေးစိတ် လမ်းညွှန်ပေးပါ။

**Workflow (2) – ပုံရှိသလောက် Button နှိပ်၊ တစ်ပုံချင်းစီပြသ၊ နောက်ဆုံးမှ Button မပြ:**

1. **Custom Post Type:** `dynamic_content` (ပုံများပါဝင်သည့် Post များအတွက်)
2. **ACF Options Page (Global CTA အတွက်):**
* `functions.php` တွင် Options Page တစ်ခု ဖန်တီးပါ (`Admin Dashboard` -> `ACF Options` သို့မဟုတ် `Settings` -> `Theme Settings` လိုမျိုး နေရာမှာ ပေါ်လာရန်)
* **Options Page Fields:**
* `global_cta_image_url` (Website တစ်ခုလုံးအတွက် Default CTA ပုံ၊ Field Type: `URL`)
* `global_cta_link_url` (Website တစ်ခုလုံးအတွက် Default CTA Link၊ Field Type: `URL`)
3. **ACF Custom Fields (Free Version – `dynamic_content` Post Type အတွက်):**
* **Content Images:** `content_image_1_url` မှ `content_image_X_url` (ပုံအရေအတွက် မကန့်သတ်ဘဲ လိုသလောက်ထည့်နိုင်ရန်၊ Field Type: `URL`)
* **Next Stage Button:** `next_stage_button_image_url` (အဆင့်တိုင်းအတွက် Next Button ပုံ၊ Field Type: `URL`)
* **Final Stage Call to Action Control:**
* `show_global_cta_in_final_stage` (Final Stage တွင် Global CTA ကို ပြသ/မပြသ ထိန်းချုပ်ရန်၊ **Field Type: `True/False` (Checkbox)**)
* **SSID Assignment:** `assigned_ssid` (Dynamic Content ကို ချိတ်ဆက်ရန် Unique ID၊ Field Type: `Text`)
4. **URL Parameters:** `ssid`, `dcid`, `imgidx` (လက်ရှိပြသနေသည့်ပုံ၏ Index)
5. **Display Logic:**
* **Start Page (Original Post + `ssid`):**
* Facebook ကနေ `https://yoursite.com/original-post/?ssid=UNIQUE_ID` လင့်ဖြင့် ဝင်ရောက်လာပါက `dynamic_content` Post ထဲမှ **ပထမဆုံး ပုံ (၂) ပုံ** ကို ပြသပါ။
* ပုံ ၂ ပုံ၏အောက်တွင် **`next_stage_button_image_url` တွင် သတ်မှတ်ထားသော Next Button (ပုံ) တစ်ခု** ကို ပြသပါ။
* `assigned_ssid` က `UNIQUE_ID` နဲ့ ကိုက်ညီသော `dynamic_content` Post ကို ရှာဖွေပြိး ပြသပါ။ **(ကိုက်ညီမှုမရှိပါက မည်သည့် dynamic content မှ မပြသဘဲ မူရင်း Post အတိုင်းသာ ဆက်လက်ဖော်ပြပါ။ Random ခေါ်ယူခြင်း မပြုလုပ်ပါ။)**
* **Subsequent Stages (Random Original Post):**
* Next Button ကို နှိပ်လိုက်ပါက **random original post အသစ်တစ်ခု** သို့ redirect လုပ်ပါ။
* ထို random post တွင် `dynamic_content` Post ထဲမှ **ကျန်ရှိသော ပုံများကို တစ်ပုံချင်းစီ** (တစ်ဆင့်ချင်းစီ) ပြသပါ။
* ပုံတိုင်း၏အောက်တွင် **`next_stage_button_image_url` တွင် သတ်မှတ်ထားသော Next Button (ပုံ) တစ်ခု** ကို ဆက်လက်ပြသပါ။
* **Final Stage (Last Image):**
* နောက်ဆုံးပုံကို ရောက်ရှိပါက **Next Button ကို မပြသတော့ပါ။**
* နောက်ဆုံးပုံ၏အောက်တွင် အောက်ပါစာသားကို ပြသပါ။
“Thank you for reading until the end.
May you be blessed with good health and happiness, and may you embrace many wonderful new days.”
* အဆိုပါစာသားအောက်တွင် **`show_global_cta_in_final_stage` Checkbox ကို `True` လုပ်ထားပါက** ACF Options Page တွင် သတ်မှတ်ထားသော `global_cta_image_url` ပုံနှင့် `global_cta_link_url` link ကို ချိတ်ဆက်ပြီး ပြသပါ။
6. **Images Display:** ပုံများကို အပေါ်အောက် ဒေါင်လိုက်စီပြီး ပြသပါ။
7. **Error Handling:** `Page` Post Type များ (ဥပမာ: Privacy Policy) ကို နှိပ်လိုက်ပါက Home Page သို့ ရောက်မသွားစေရန် Fix လုပ်ပေးပါ။

ဤ Workflow (2) ကို Step-by-Step Guide အသေးစိတ် (CPT UI, ACF Options Page Setup, ACF Field Creation, `functions.php`, `content-single.php`, `style.css` Code များနှင့် Social Media Link Formatting အပါအဝင်) ရေးသားပေးပါ။”