สองสามวันก่อนผมได้รับการคอนแทคจากผู้ติดต่อรายหนึ่ง ที่โทรเข้ามาสอบถามเรื่องความสามารถของตัว WordPress ว่าสามารถทำได้อย่างที่เค้าต้องการหรือเปล่า นั่นก็คือการสร้างเว็บไซต์ที่มีระบบสมาชิก และสมาชิกแต่ละท่านก็สามารถสร้างเนื้อหาลงประกาศในเว็บได้ โดยที่มีข้อแม้ว่า สมาชิกเหล่านั้นสามารถโพสต์เรื่องได้แค่คนละ 10 เรื่องเท่านั้น หากต้องการโพสต์เนื้อหาลงเว็บมากกว่า 10 เรื่อง ต้องติดต่อทีมงานเพื่ออัพเกรดจำนวนการโพสต์ของสมาชิกแต่ละคน
หลังจากที่ผมได้รู้ถึง Requirement เหล่านี้ ก็แน่นอนครับว่า WordPress สามารถทำได้อยู่แล้ว แต่ว่ามันต้องใช้เทคนิคหน่อยครับ เพราะความสามารถที่ต้องการมันไม่ใช่ค่าพื้นฐานที่ WordPress ให้มา เราต้องประยุกต์สักหน่อย มาดูกันครับว่าทำอย่างไร
ด้วยความที่ปกติแล้ว ผมจะแก้ไขปัญหาด้วยสิ่งที่มีอยู่แล้วก่อน ผมก็ลองค้นหาดูว่ามีปลักอินตัวไหนที่สามารถทำได้อย่างที่ต้องการหรือเปล่า ซึ่งมันก็ยังไม่มีแบบต้องการเป๊ะๆครับ แต่ไม่เป็นไร ขอให้รู้ว่ามันมีใกล้เคียงเราก็เอามาต่อยอดได้ เริ่มต้นด้วยการติดตั้งปลักอินตัวนี้ครับ Bainternet Posts Creation Limits ซึ่งปลักอินตัวนี้จะทำให้เราสามารถระบุได้ครับว่าสมาชิกแต่ละกลุ่มของ WordPress (อันได้แก่ Subscriber, Contributor, Author, Editor และ Administrator) สามารถโพสต์เนื้อหาได้กี่ครั้ง แถมยังตั้งค่าสำหรับสมาชิกแต่ละคนด้วยก็ได้นะครับ เช่น เราอยากให้นาย A เพียงคนเดียวที่สามารถโพสต์ได้ 15 ครั้ง ก็ทำได้ แต่ว่าก็ยังติดปัญหาครับ นั่นก็คือ ถ้าเราตั้งค่าแล้วเงื่อนไขการตั้งค่ามีความซ้ำซ้อนกัน มันจะไม่ทำงาน
ซ้ำซ้อนอย่างไร ยกตัวอย่างแบบนี้นะครับ
เราตั้งว่าสมาชิกทั่วไป ซึ่งก็คือ Author (เพราะสมาชิกระดับนี้สามารถโพสต์เนื้อหาลงเว็บได้ และแทรกรูปภาพอะไรได้ด้วย) สามารถโพสต์ได้ 10 เรื่อง
นาย A เป็นสมาชิกระดับ Author ดังนั้นนาย A ก็สามารถโพสต์ได้เพียง 10 เรื่องตามข้อตกลง แม้ว่าครั้งต่อมา เราจะระบุว่าให้นาย A สามารถโพสต์ได้ 15 เรื่อง มันก็ยังได้แค่ 10 เรื่อง เพราะนาย A เป็น Subset ของ Author นั่นเอง ความสำคัญของ Author มันสูงกว่า
แล้วจะทำอย่างไรต่อดี?
จากปัญหาที่เจอ เราสามารถแก้ไขได้ง่ายๆครับ ก็เรารู้อยู่แล้วว่า เออ นาย A มันถูกระบุจำนวนโพสต์ไม่ได้ เพราะถูกบทบาทของ Author ครอบอยู่ เราก็เปลี่ยนบทบาท (Role) ของนาย A แทนสิครับ คือแทนที่จะให้นาย A เป็น Author ก็เปลี่ยนให้เป็นอย่างอื่นแทน .. แต่ WordPress มันก็มีระดับกลุ่มสมาชิกให้มาแค่ 5 ระดับเท่านั้น เราจะสร้างใหม่ได้อย่างไร?
เราสามารถสร้างกลุ่มสมาชิกได้ไม่จำกัดเลยครับ ด้วยการใช้ปลักอินตัวนี้ User Role Editor เมื่อติดตั้งแล้ว เราก็ไปสร้าง role ได้หลากหลายตามความต้องการได้เลย เช่น สมาชิกกลุ่ม Silver, Premium, Special อะไรก็ว่ากันไป
ผมยกตัวอย่าง ว่าผมจะสร้าง Role ขึ้นมาใหม่ ผมสร้างชื่อว่า Silver ละกันนะครับ โดยสมาชิกกลุ่มนี้ ก็มีความสามารถเหมือน Author นั่นแหล่ะ คือสร้างเรื่องใหม่ แก้ไขเรื่องของตัวเอง และแทรกรูปภาพอะไรได้
ไปที่เมนู User > User Role Editor จะเจอหน้าตาแบบนี้
ให้เราคลิกที่ปุ่ม Add Role เพื่อสร้างกลุ่มสมาชิกขึ้นมาใหม่
แล้วก็ใส่ค่าเหมือนดังในรูปภาพครับ และเนื่องจากเราต้องการให้กลุ่มใหม่นี้มีความสามารถเหมือน Author ผมก็เลยให้มันก็อบค่าจาก author มา (เราแก้ไขเพิ่มเติมทีหลังได้)
ทีนี้เราก็ไปตั้งค่ากันครับว่า จะให้สมาชิกกลุ่ม silver ที่ผมสร้างขึ้นมาเนี่ย โพสต์ได้กี่เรื่อง โดยไปที่เมนู Setting > Post Creation Limits แล้วคลิกปุ่ม add new limit ครับ จะเจอหน้าต่างแบบนี้ ก็ใส่ๆค่าไป ง่ายมากๆ
ใส่เสร็จแล้วก็อย่าลืมคลิก Save Change นะครับ ขั้นตอนสุดท้ายก็คือการตั้งค่าสมาชิกแต่ละคนว่าจะอยู่ในกลุ่มไหน โดยไปที่เมนู Users > All Users แล้วก็คลิก Edit สมาชิกที่เราต้องการย้ายกลุ่มไปไว้ใน Silver
นี่แหล่ะครับ วิธีการตั้งค่าจำนวนโพสต์ที่สามารถโพสต์ได้สำหรับสมาชิกในเว็บ ลองไปประยุกต์ใช้งานกันดูนะครับ