โค้ดนี้ทำงานอย่างไรในบริบทของ JetEngine Smart Filters
-
Color/Image List Filter: โค้ด CSS นี้มีเป้าหมายหลักในการปรับแต่งหน้าตาของ filter ประเภท “Color and Image” ที่ JetEngine Smart Filters มีให้
-
โครงสร้าง HTML (ที่ JetEngine สร้างขึ้น): JetEngine Smart Filters จะสร้าง HTML structure คล้ายๆ กับตัวอย่างที่ผมให้ไปก่อนหน้านี้ (แต่โครงสร้างจริงๆ อาจจะซับซ้อนกว่าเล็กน้อย ขึ้นอยู่กับการตั้งค่า) โดยจะมี:
input[type="radio"]
: สำหรับแต่ละตัวเลือก (สี, รูปภาพ)<label>
: ที่เชื่อมโยงกับinput
แต่ละตัว และจะแสดงเป็นปุ่มให้ผู้ใช้เห็น<img>
หรือ<svg>
: (อาจจะมี) ภายใน<label>
เพื่อแสดงตัวอย่างสี/รูปภาพ
-
การทำงานของ CSS:
jet-color-image-list__button
: คลาสนี้ (และคลาสอื่นๆ ที่ขึ้นต้นด้วยjet-
) เป็นคลาสที่ JetEngine ใช้ การที่เราเขียน CSS โดยอ้างอิงคลาสเหล่านี้ หมายความว่าเรากำลัง “override” (เขียนทับ) สไตล์เริ่มต้นของ JetEngine เพื่อให้ได้หน้าตาตามที่เราต้องการselector
: อย่างที่ผมบอกไปก่อนหน้านี้selector
จะต้องถูกแทนที่ด้วย selector ที่ถูกต้อง ซึ่งโดยทั่วไปแล้วจะเป็น selector ที่ครอบคลุม filter widget ทั้งหมด คุณอาจจะต้องตรวจสอบ (inspect) โค้ด HTML ที่ JetEngine สร้างขึ้นในหน้าเว็บของคุณ เพื่อหา selector ที่ถูกต้องhover
,active
,checked
: CSS จะจัดการการเปลี่ยนแปลงสถานะของปุ่ม (label) ตามที่อธิบายไปแล้ว เพื่อให้ผู้ใช้รับรู้ถึงการโต้ตอบ
วิธีใช้โค้ดนี้กับ JetEngine Smart Filters
- สร้าง Filter: ใน WordPress Dashboard, ไปที่ JetEngine > Smart Filters และสร้าง filter ใหม่ เลือกประเภท “Color and Image”
- ตั้งค่า: กำหนดค่า filter ต่างๆ เช่น เลือก taxonomy หรือ custom field ที่จะใช้เป็นตัวกรอง, เลือกสี/รูปภาพ, ฯลฯ
- เพิ่ม Filter ลงในหน้า: ใช้ Elementor (หรือ page builder ที่คุณใช้) เพิ่ม widget “Color and Image Filter” ลงในหน้าที่คุณต้องการ
- เพิ่ม CSS: มีหลายวิธีในการเพิ่ม CSS:
- Customizer: ใน WordPress, ไปที่ Appearance > Customize > Additional CSS แล้วเพิ่มโค้ด CSS ลงไป (วิธีนี้ง่ายที่สุด)
- Child Theme: สร้าง child theme (ถ้ายังไม่มี) แล้วเพิ่ม CSS ลงในไฟล์
style.css
ของ child theme (วิธีนี้ดีที่สุดสำหรับการปรับแต่งขั้นสูง) - Elementor (หรือ Page Builder): บาง page builder (เช่น Elementor) มีช่องให้คุณใส่ CSS สำหรับ widget แต่ละตัวได้โดยตรง
- ปลั๊กอิน CSS: ใช้ปลั๊กอินสำหรับเพิ่ม CSS (เช่น Simple Custom CSS)
- หา
selector
ที่ถูกต้อง: เปิดหน้าที่คุณใส่ filter ลงไป inspect element ที่เป็น container ของ filter ทั้งหมด. และ copy class นั้นมาใส่แทนselector
.
ตัวอย่าง Selector (อาจจะไม่ถูกต้องเสมอไป ต้อง Inspect เอง)
สมมติว่าหลังจาก inspect element แล้ว คุณพบว่า filter ทั้งหมดของคุณอยู่ภายใต้ div ที่มี class my-custom-filter-container
โค้ด CSS ของคุณก็จะกลายเป็น: