เริ่มเรื่องจากการสรรหาวิธีเพิ่มลูกเล่นให้กับเว็บลูกค้า
เรื่องมีอยู่ว่า ระหว่างที่กำลังทำเว็บให้ลูกค้า ก็ได้มีการสร้าง Blocks กลุ่มหนึ่งไว้ เผื่อโชว์จุดขายให้ลูกค้าอย่างเนียน ๆ แล้วก็ไม่ได้สนใจอยู่นาน จนกระทั่งได้ไปจับ ๆ เฉียด ๆ กับจำนวนบล็อกของลูกค้าที่พบว่าก็มีอยู่มากโข (800 กว่าโพสต์ได้) ก็เลยคิดอยู่ว่า ถ้าจะต้องคัดลอกเจ้า Block นี้ไปใส่ให้กับทุก ๆ โพสต์ แล้วจะต้องบอกให้ลูกค้า Copy มาใส่ในโพสต์อื่น ๆ ในอนาคตก็คงใช่เรื่องอยู่ไม่น้อย จึงหาวิธีอยู่หลายกระบวนท่า จนค้นพบว่า
สร้างเป็น Reuseable Blocks / Create pattern แล้วให้ลูกค้าหยิบใช้สิ
ไอ้เจ้าวิธีนี้ ก็ดูจะเข้าท่าอยู่ไม่น้อย ก็แค่เพิกเฉยเจ้าโพสต์ที่เเล้ว ๆ มา แล้วหลังจากนี้ก็บอกลูกค้าว่า ให้ไปเรียก Blocks ชื่อนี้มาใช้เลย แถมเวลาจะแก้ไขที ก็ไปกันหมดเลยทุกหน้า แต่มันก็แทบไม่ต่างจากการคัดลอกไปวาง เพียงแค่ลูกค้าหยิบใช้ได้ง่ายขึ้นก็เท่านั้น แต่โจทย์เล็ก ๆ คือ อยากให้มันไปโชว์ที๋โพสต์ที่ลูกค้าเคยโพสต์ไว้ด้วย แล้วจะให้หยิบไปใส่เองทั้งหมดคงไม่ไหว ผลักไปให้ลูกค้าทำก็คงไม่ต้องหวัง
ทำ Child Theme แล้วเขียนส่วนนี้ค้างไว้เลยยาว ๆ
วิธีนี้ก็ดูจะเข้าท่าดี ประกอบกับธีม แพลนต์ 3 จาก Seedwebs ที่เลือกใช้ให้ลูกค้าก็มี Child Theme ไว้ให้เเล้วเสร็จสรรพ ที่เหลือก็คงต้องออกแรงสร้าง Section นี้เพิ่มลงไปซักหน่อย คิดแล้วก็เริ่มได้ แต่… ถ้าเรา Recreate ส่วนนี้เข้าไปด้วย Code แล้วถ้าลูกค้าอยากแก้ล่ะ จะทำยังไง ?
ทำเป็น Blocks / Pattern ไว้อีกซักชุด แล้วเรียกมันผ่าน Shortcode แทรกไว้ใน Template ของโพสต์ทุกโพสต์ไปเลย
นี่แหละ เข้าท่า จึงได้ค้นหาอยู่นานว่าเราจะแปลงไอ้เจ้า Reuseable Blocks / Pattern นี้ไปเป็น Shortcode แล้วเรียกมันได้ยังไง จึงได้พบปลั๊กอิน Reusable Blocks Extended นี้เข้า ซึ่งดูเหมือนว่ามันจะจัดการให้ได้ทั้งหมดที่ว่ามา ด้วยการมี ส่วนแยกที่จะแสดง Blocks ที่เคยสร้างไว้ แถมยังเข้าไปแก้ไขได้ด้วย แล้วยังแปลงไปเป็น Pattern พร้อมกับสร้าง Shortcode ได้ในเวลาอันสั้น
เท่านี้ก็เรียบร้อย
จึงทำการแปลงไปเป็น Block Pattern ให้เสร็จ ก็ได้ Shortcode มาใช้งาน ที่เหลือก็คงต้องออกแรงอีกเล็กน้อย ทำการหยิบ Child Theme มาใช้ ปรับค่านิดหน่อย แล้วลุย จากนี้ก็ไม่มีอะไรยากแล้วครับ หา Template Part ที่เป็นหน้าสำหรับ Blog Post ให้เจอ แล้วก็แทรก Shortcode เข้าไปด้วยฟังก์ชันที่ตัวปลั๊กอินมีมาให้ ถ้าพบว่ามันไม่แสดงผล ก็อาจจะต้องใช้ Get เพื่อให้มันเรียกมาก่อนซักเล็กน้อย ก็เป็นอันเสร็จสิ้น ดูตาม FAQ ของปลั๊กอิน ก็ไม่มีอะไรยากเกินไปครับ
<?php
reblex_get_block(IDของบล็อก);
reblex_display_block(IDของบล็อก);
?>
Finally Got It !
ได้แล้วครับ ไอ้ที่อยากแสดงผลออกมาก็มีเท่านี้แล แต่คิด ๆ ดูโพสต์จำนวนกว่า 800 ทำให้มันแสดงผลได้ภายในคราวเดียว ก็ถือว่าคุ้มค่าเลยครับ ครบทุกโจทย์ที่เราต้องการ ผนวกกับการใช้งานที่ง่ายยิ่งยวดของลูกค้า มีเพิ่มปุ่มแชร์จาก Seed Social ไปอีกนิดหน่อยด้วย Shortcode ตามเคย
Note:
ผมไม่ได้มีส่วนได้ส่วนเสียใด ๆ จากทั้งปลั๊กอิน / Theme ที่ใช้นะครับ เพียงแต่ว่ามันตอบโจทย์เราได้ในขณะนี้ ส่วนของ Performance ก็ถือว่ามันไม่ได้มารบกวนอะไรมากมาย ก็เลยนำมาใช้ครับ ถ้ามีอะไรที่เวิร์คกว่านี้ ก็แนะนำกันเข้ามาได้เลยคร้าบ