Blog

LESS Compiler in PHP

July 6th, 2016

เมื่อก่อนเราเขียน CSS หลายพันบรรทัด ยิ่งไซต์ไหนมีการ customize เยอะๆ ก็จะยิ่งมี CSS หลายบรรทัด หลายไฟล์ ทำให้ยุ่งยากต่อการ maintain ซึ่งปัญหาเหล่านี้จะหมดไปเมื่อหันมาใช้ LESS

หลายคนอาจจะรู้จัก LESS มากันแล้ว แต่จะขอเกริ่นหน่อยสำหรับคนที่ยังไม่เคยรู้จัก ไม่เคยใช้มาก่อน
จริงๆแล้ว LESS มันก็คือ Superset ของ CSS เราสามารถประกาศตัวแปร, functionเพื่อที่จะใช้ในการอ้างอิง properties ใน CSS หลังจากที่ประกาศตัวแปรแล้ว LESS จะ compile ออกมาเป็น css ทำให้เวลาที่เราต้องการแก้ค่า properties อะไรๆใน CSS ก็จะง่ายขึ้น แค่ไปแก้ตัวแปรในไฟล์ less ที่เดียว ไม่ต้องเสียเวลาหาว่าบรรทัดไหน ไฟล์ไหนใช้ properties แบบนี้บ้าง

ในการใช้ LESS มีหลากหลายวิธีมาก ขึ้นอยู่กับความต้องการของผู้ใช้ ว่าจะใช้ในรูปแบบไหน อย่างเช่น (more…)

WP Object Cache ใน WordPress

ใครที่ใช้ WordPress แบบหนักหน่วง traffic เยอะ หรือมีหลายไซต์รันอยู่ด้วยกัน คงต้องสนใจเรื่องการปรับปรุง performance ของไซต์ และวิธีที่นิยมกันคือ การ cache object ในหน้า WordPress เพื่อให้หน้าเพจสามารถโหลดได้เร็วขึ้น บทความนี้จะพูดถึง WP Object Cache

WP Object Cache

เป็น class ที่ใช้ cache object ใน WordPress เราจะเอาไป cache object หรือ query ก็ได้ โดยปกติ มันจะเป็นการ cache ณ ช่วงเวลาหนึ่ง (non-persistent cache) ถ้าเราอยากให้มัน cache แล้วเก็บไว้ได้ ต้อง install พวก persistent cache plugin ไปด้วย เช่น memcache (more…)

WordPress JavaScript Coding Standards

July 6th, 2016

JavaScript นับได้ว่าเป็นภาษาหนึ่งที่คนส่วนใหญ่จะ Write Once, Run Anywhere Without Modification.. หมายความว่าอะไร หมายความว่าโค้ดส่วนใหญ่อ่านไม่รู้เรื่อง แล้วก็เข้าใจยากน่ะสิ ฮะๆ >_< โพสต์นี้จะนำเสนอเรื่องการเขียน JavaScript ตาม Coding Standards ที่ WordPress วางเอาไว้ ซึ่งอาจจะช่วยให้อ่านโค้ดแล้วเข้าใจมากขึ้น เพราะโค้ดดูสะอาดตา

ถ้ายังสงสัยว่าทำไมต้องทำตาม Coding Standards ลองอ่าน WordPress Coding Standards สำคัญไฉน? ก่อนนะ
Brace
เหมือนกับของ PHP เลย เปิดปีกกาก็ควรให้อยู่บรรทัดเดียวกับพวก if-else หรือตอนประกาศฟังก์ชั่น
var a, b;
if ( a && b ) {
action1();
action2();
}
else if ( a ) {
action3();
action4();
}
else {
defaultAction();
}
Quotations
พวกสตริงทั้งหลายก็ให้ใช้ single quote เพื่อความง่าย และใช้ double quotes ตามความเหมาะสม เช่น
'Just your everyday string.

Transient API เพื่อการ cache

จากบทความที่แล้ว ที่กล่าวถึง WP Object Cache ซึ่งยังต้องการการ install persistent cache ถ้าอยากให้ cache อยู่โดยไม่หายไป แต่หากเราอยากให้ cache อยู่ตลอด โดยไม่ต้อง install persistent cache เราสามารถใช้ Transient API ทนแทนได้

Transient API เป็น API ที่ใช้ cache object ใน WordPress เช่นเดียวกับ WP Object Cache แต่มีความสามารถพิเศษเพิ่มขึ้นคือ ถ้าเราไม่ได้ลง persistent cache ใน server พวก cache จะไปเก็บใน option table แทน กลไกการทำงานภายใน Transient API จริงๆ แล้วก็เรียกใช้ function จาก WP Object cache เพื่อจัดการ cache ในระดับล่างสุด แต่มีกลไกที่มากขึ้นในการเลือกว่าจะ cache ที่ไหน ระหว่าง persistent cache หรือ option table นั่นเอง (more…)

วิธีเอา Custom Post Type URL Slug ออก

July 6th, 2016

บทความนี้น่าจะมีประโยชน์สำหรับหลายๆ คนที่อยากจะเอา slug จาก Custom Post Type (CPT) ที่เราสร้างออกด้วยเหตุผลทางด้าน SEO พอดีได้มีโอกาสได้ทำตรงส่วนนี้เลยมาเขียนไว้ เผื่อเอาไปใช้กันได้

การเอา slug ออกจาก CPT เป็นการ hack อย่างหนึ่ง ดังนั้นใครที่เอาไปใช้ ขอให้เพิ่มความระมัดระวังด้วยว่าโค้ดนี้จะไปกระทบกับส่วนอื่นหรือเปล่า (แต่เท่าที่ใช้มาก็ไม่กระทบนะ เขียนโค้ดกันไว้) เอาล่ะ มาดูวิธีการทำเลยดีกว่า มีอยู่ 2 ขั้นตอนตามลำดับดังนี้

เอา slug ออกจาก URL
ทำให้ WordPress คิดว่า URL นั้นๆ เป็น CPT

(more…)

Add your custom filter อยากมีฟิลเตอร์กะเค้าบ้าง

เคยมั๊ย ที่อยากให้ชาวบ้านมา hook filter ของเราได้บ้าง?

บางคนงงว่า filter คืออะไร แล้วใช้ทำไม แล้วมันต่างกับ action ยังงัย
คร่าวๆ action คือ event ต่างที่เกิดขึ้นเวลาบางสิ่งบางอย่างใน WordPress มันเกิดขึ้น เช่น กด save post แล้วจะเกิด action อะไรขึ้น เราสามารถ hook event ณ จุดนั้นได้ เป็นต้น (more…)

DIY : Shortcode

July 6th, 2016

ถ้าพูดถึง Plugin ใน WorldPress หลายๆ อาจ จะนึกถึงสิ่งที่เรียกว่า Shortcode
ซึ่งเจ้า shortcode นี้มีไว้สำหรับให้ผู้ใช้เรียกใช้งานอย่างสะดวก จากที่จะต้องเขียนโค้ดยาว ๆ อาจแทนด้วยคำสั่งสั้น ๆ แทน
ก็คล้ายๆ กับหลักการเรียกฟังก์ชั่น ของการเขียนโปรแกรมทั่ว ๆ ไป...

จากหัวข้อ DIY::Shortcode หรือ การสร้าง Shortcode ด้วยตัวเอง,,
Are you ready ??
เขียนที่ไหน ??

สร้าง plugin แล้วสร้าง shortcode ไว้ใน plugin นั้น
สร้างไว้ใน function.

ชีวิต Geek สบายขึ้นเมื่อมี WP-CLI

วันนี้เรามีเครื่องมือดีๆ มาแนะนำชาว Geek WordPress ทั้งหลาย เครื่องมือนั้นมีชื่อว่า WP-CLI แล้วมันคืออะไรล่ะ? ทำไมชีวิต Geek ถึงจะสบายขึ้น?

WP-CLI เป็น command line interface สำหรับ WordPress ครับ มีข้อดีสุดแจ่มตามชื่อของมันเลยคือ เราสามารถสั่งงาน เช่น ลงปลั๊กอิน หรือติดตั้ง WordPress โดยไม่ต้องผ่านหน้า UI ของ WordPress เลย

วิธีติดตั้งก็ง่ายนิดเดียวครับ ทำตามนี้ได้เลย (แนะนำให้ใช้ PHP เวอร์ชั่น 5.5 ครับ)

เปิด Terminal ของเราขึ้นมา
สั่ง curl -kL https://raw.

ทำความรู้จักกับ Post Meta ใน WordPress กันเถอะ!

สวัสดีชาว Geek WordPress ทุกๆ ท่านนะคะ.. วันนี้เราจะมาว่ากันถึงความมหัศจรรย์และความเทพของ WordPress ที่หลายๆ ท่านอาจจะรู้จักกันดี นั่นคือ Post Meta หรือที่รู้จักกันดีในอีกชื่อ ก็คือ.. Custom Field ค่ะ

credit ภาพ: http://www.

ติดตามสถิติเว็บไซต์ด้วย Google Analytics

July 6th, 2016

วันนี้เราจะมาติดตามสถิติของเว็บไซต์ด้วย Google Analytics (GA) ซึ่งเป็น Plugin ตัวหนึ่งของ WordPress กันนะคะ
ขึ้นชื่อด้วย Google แล้วเนี่ยแน่นอนเลยว่าจะต้องมีบัญชีผู้ใช้ของ Google กันเสียก่อน

Q: บัญชีผู้ใช้ Google คืออะไร?
A: บัญชีผู้ใช้ของ Google ก็คือ gmail นี่เองล่ะค่ะ ขึ้นตอนการสมัครก็เหมือนสมัครอีเมล์เลยค่ะ ใครมีอยู่แล้วก็ใช้อันเดิมก็ได้หรือจะสมัครใหม่ก็ได้เช่นกันค่ะ

หลังจากที่ทุกท่านมีบัญชีผู้ใช้ของ Google แล้วเราก็จำเป็นที่จะต้องมีบัญชีของ GA ด้วยเพื่อที่จะเข้าไปใช้งานในส่วนนี้ได้ สมัครบัญชี Google Analytics
โดยที่บัญชีของ GA นั้นจะอยู่ภายใต้ gmail ของเราอีกทีนึงค่ะ และเราสามารถมีบัญชี GA หลายบัญชีได้ภายในหนึ่ง gmail ค่ะ
เมื่อสมัครเสร็จแล้วเราจะได้รหัสติดตามประมาณนี้ UA-xxxxxxxx-x มา 1 ชุดค่ะ
ก็เป็นอันว่าเสร็จไปเรียบร้อยในส่วนของการเปิดใช้งาน GA ค่ะ

ต่อไปจะเป็นการติดตั้ง GA Plugin WP กันนะคะ สามารถดาวน์โหลด GA Plugin ได้ที่ GA Plugin Download
เมื่ออัพโหลด plugin ขึ้น host แล้วก็สามารถติดตั้งได้โดยการไปที่เมนู plugin (ปลั๊กอิน) แล้ว Add New (เพิ่มปลั๊กอินใหม่) ค่ะ

หลังจากนั้นไปที่ Settings ของ Google Analytics เพื่อใส่ รหัสติดตามที่ได้มาข้างต้นค่ะ

จากนั้นมันจะเข้ามาหน้า Settings ของ GA ให้เลือก Google Analytics logging is เป็น Enable ค่ะ

• Outbound link tracking คือการเก็บสถิติการลิงค์ที่ออกจากเว็บไซต์ กล่าวคือผู้เยี่ยมชมลิงค์ออกไปที่ไหนบ้าง
• Event Tracking คือการเก็บทั้ง Outbound link และค่าดาวน์โหลด เป็นส่วนที่แจ้งให้รู้ข้อมูลของ Event ที่เกิดขึ้นในภาพรวม
• Download extension to track คือการเก็บสถิติไฟล์ที่ผู้เยี่ยมชมดาวน์โหลด โดยสามารถใส่นามสกุลไฟล์ที่ต้องการเก็บสถิติ เช่น pdf,zip,rar,mp3 เป็นต้น

เมื่อตั้งค่าเรียบร้อยแล้ว เท่านี้เราก้จะสามารถติดตามสถิติต่างๆของเว็บไซต์เราได้ โดยการคลิกดูที่ Report ก็จะสามารถเห็นค่ารายงานต่างๆของ Google Analytics ได้ค่ะ
และหาก plugin ยังไม่แสดงผลให้รอประมาณครึ่งวันแล้ว Log-in เข้าระบบใหม่ค่ะ ขอบคุณค่ะ 🙂