API การตั้งค่าเทียบกับ Theme Customizer


20

เมื่อใดจึงจะเหมาะสมที่จะใช้การตั้งค่า API และเมื่อใดควรใช้ตัวกำหนดธีมเองดีกว่า

ฉันมี Googled ทุกเช้าฉันไม่สามารถหาคำแนะนำที่ดีและได้รับการพิจารณาในเรื่องนี้ได้ ในขณะที่ยังเร็วที่จะบอกว่าฉันรู้สึกว่าเครื่องมือปรับแต่งชุดรูปแบบเป็นขั้นตอนแรกที่มีการชี้นำต่อการนำคุณลักษณะการแก้ไขที่คล้ายกับ Squarespaceเพิ่มเติม มีใครรู้บ้างเกี่ยวกับแผนการที่จะทำให้พระอาทิตย์ตก API การตั้งค่าให้แก่ Customizer Theme หรือไม่ เราทุกคนควรจะค่อยๆเคลื่อนไปหามันหรือเราจะดีกว่าที่จะยึดการตั้งค่า API หรือไม่? พวกเขาสามารถอยู่เคียงข้างกันหรือไม่และถ้าเป็นเช่นนั้นการแบ่งความรับผิดชอบจะอยู่ที่ไหน

คำตอบ:


21

หลักฐานของคำถามมีข้อบกพร่อง Customizer APIไม่ได้เป็นตัวเลือก API แต่ค่อนข้างตัวเลือกดูตัวอย่าง API Customizer API ขึ้นอยู่กับAPI การตั้งค่าหรือTheme Mods APIเพื่อลงทะเบียนการควบคุมสำหรับการตั้งค่าที่มีอยู่ซึ่งเพิ่มผ่าน API ตัวใดตัวหนึ่ง

Customizer ไม่ - และไม่สามารถ - กำหนด / ลงทะเบียนการตั้งค่าใหม่ที่ยังไม่ได้ลงทะเบียนผ่าน API การตั้งค่าหรือ Theme Mods API กล่าวถึงวิธีที่แตกต่าง: Customizer API ไม่ใช่ API เพื่อเพิ่มการตั้งค่าโดยตรงหรือเพื่อดึงการตั้งค่าโดยตรงจากฐานข้อมูล แต่ Customizer API ใช้ API การตั้งค่าหรือ Theme Mods API เพื่อบันทึกการตั้งค่าหรือเพื่อดึงการตั้งค่าจากฐานข้อมูล

ดังนั้น Customizer API ไม่ได้เป็นทางเลือกให้เป็นหนึ่งในที่มีอยู่APIs ตัวเลือก ; ค่อนข้างจะเป็นทางเลือกสำหรับหน้าการตั้งค่า Customizer ไม่สนใจว่าจะมีการลงทะเบียนการตั้งค่าผ่านทาง API การตั้งค่าหรือ Theme Mods API หรือไม่และการตั้งค่าดังกล่าวสามารถผสมและจับคู่ใน Customzer ได้ ในความเป็นจริงในกรณีส่วนใหญ่การตั้งค่าดังกล่าวจะผสมและจับคู่กัน: ส่วนหัวที่กำหนดเองและพื้นหลังที่กำหนดเองคือ Theme Mods และชื่อไซต์และคำอธิบายคือ API การตั้งค่า

เพื่อให้เข้าใจถึงวิธีการตั้งค่าและการควบคุมที่ลงทะเบียนผ่าน Customizer API ฉันขอแนะนำให้อ่านบทเรียนที่ดีเยี่ยมของ Otto:

ดังนั้นคำถามนี้อาจไม่ใช่/ หรือเกี่ยวกับ API ที่ระบุ เหมาะสม/ หรือคำถามจะ:

  • ใช้อย่างใดอย่างหนึ่งAPI การตั้งค่า หรือธีม Mods APIเพื่อลงทะเบียนการตั้งค่าที่มีอยู่เพื่อดูตัวอย่างผ่านCustomizer API
  • ใช้อย่างใดอย่างหนึ่งCustomizer API หรือธีมที่กำหนดเองหน้าการตั้งค่าที่จะช่วยให้ผู้ใช้ตัวเลือกชุดรูปกำหนดค่า

ขอบคุณชิป ฉันยังไม่ได้ติดตามคุณ100%แต่คุณให้ฉันพอที่จะดูปัญหาอีกต่อไป ฉันคิดว่าความสับสนของฉันเกิดจากการทับซ้อนในการทำงานและความคล้ายคลึงกันในชื่อ มีหน้าเอกสารการใช้งาน (ในทางที่เป็นนามธรรมมากกว่า) ของ API ที่แตกต่างกันอย่างชัดเจนหรือไม่? ฉันไม่ได้โชคดีที่ได้ดูโคเด็กซ์ เพียงแค่มุ่งเน้นไปที่การใช้งาน API ของถั่วและสลักเกลียว
Dre

ฉันได้เพิ่มมากขึ้นเพื่อพยายามอธิบายเชิงลึกมากขึ้น ดูเพิ่มเติมโดยเฉพาะลิงก์ไปยังบทเรียนของ Customizer ของ Otto ฉันคิดว่าพวกเขาจะช่วยชี้แจงสิ่งต่าง ๆ
Chip Bennett

คุณเป็นสุภาพบุรุษ
Dre

5

บางครั้งอาจเป็นเรื่องง่าย ๆ เช่น: Settings API ไม่ใช่ Theme Customizer ทั้งสองสิ่งต่างกันสำหรับงานที่แตกต่างกัน

API การตั้งค่า

คุณกำลังเขียนปลั๊กอินหรือมีชุดรูปแบบที่ไม่มีตัวเลือกที่ไม่ต้องการคำติชมใด ๆ ไปกับตัวเลือกนี้

Theme Customizer

คุณต้องมีตัวเลือกที่มีผลกระทบต่อภาพที่ผู้ใช้ควรเห็น? ไปกับตัวเลือกนี้


นี่คือข้อสรุปเริ่มต้นของฉัน อย่างไรก็ตามมีการทับซ้อนของฟังก์ชั่นจำนวนมากระหว่างสองซึ่งเป็นสิ่งที่นำไปสู่คำถามเดิม นอกจากนี้ความคิดในการแยกตัวเลือกชุดรูปแบบออกเป็นสองตำแหน่งขึ้นอยู่กับว่าพวกเขามองเห็นหรือไม่ทำให้ฉันเป็นปัญหาจากมุมมองของ UX ไม่ได้หมายความว่าฉันไม่เห็นด้วยกับคุณ ฉันแค่ชักชวนความคิดเห็นในขั้นตอนนี้ หัวข้อทั้งหมดนั้นค่อนข้างมืดมน บางทีคำแนะนำที่ชัดเจนจาก 'สูง' อาจเป็นประโยชน์ ขอบคุณสำหรับข้อมูลของคุณ!
Dre

@Dre เดาว่าคุณอ่านผิดไปเล็กน้อย: หากคุณมีตัวเลือกเดียวที่ต้องการความเห็นย้อนกลับให้ไปที่ ThemeCustomizer ดังนั้นกฎของหัวแม่มือคือ: ธีม -> Theme Customizer | ปลั๊กอิน -> API การตั้งค่า
ไกเซอร์

ตามกฎทั่วไปตัวเลือกที่กำหนดธีมทั้งหมดควรมีผลกระทบต่อการนำเสนอ :) ที่กล่าวว่า: การปรับแต่ง API ต้องใช้ทั้งAPI การตั้งค่า หรือธีม Mods APIเพื่อที่จะมีชีวิตอยู่ การกำหนดค่า API ไม่ได้เป็นทางเลือกหนึ่งของทั้งสอง APIs แต่ทางเลือกสำหรับหนึ่งหน้าธีมที่กำหนดเองการตั้งค่า
Chip Bennett

พวกคุณมีปัญหาในการตอบสนองกับ Customizer หรือไม่? ดูเหมือนว่าเจ้าอารมณ์สำหรับฉันในทั้ง 3.5.1 และมากกว่านั้นใน 3.6 (trunk) ฉันพบว่าปุ่มส่วนหัวและปุ่มปิด / บันทึกมักจะตอบสนองต่อการคลิกไม่ถูกต้องและบางครั้งต้องคลิกปุ่มเหล่านั้นหลายครั้ง (และมากกว่านั้นในช่วงท้าย) นี่เป็นทั้ง FF และ Chrome
t31os

@ t31os มีปัญหานี้มาก่อน แต่ไม่สอดคล้อง แต่ไม่ได้ลองมาสักพัก ฉันขอแนะนำconsole.log()การกระทำทั้งหมดของคุณเพื่อให้คุณเห็นสิ่งที่ถูกเรียกและสิ่งที่ขัดจังหวะ การดีบัก JavaScript ไม่ใช่เรื่องง่าย ...
kaiser
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.