วิธีจำกัดจำนวนการเพิ่มเรื่องใหม่สำหรับสมาชิกแต่ละคน

สองสามวันก่อนผมได้รับการคอนแทคจากผู้ติดต่อรายหนึ่ง ที่โทรเข้ามาสอบถามเรื่องความสามารถของตัว WordPress ว่าสามารถทำได้อย่างที่เค้าต้องการหรือเปล่า นั่นก็คือการสร้างเว็บไซต์ที่มีระบบสมาชิก และสมาชิกแต่ละท่านก็สามารถสร้างเนื้อหาลงประกาศในเว็บได้ โดยที่มีข้อแม้ว่า สมาชิกเหล่านั้นสามารถโพสต์เรื่องได้แค่คนละ 10 เรื่องเท่านั้น หากต้องการโพสต์เนื้อหาลงเว็บมากกว่า 10 เรื่อง ต้องติดต่อทีมงานเพื่ออัพเกรดจำนวนการโพสต์ของสมาชิกแต่ละคน

User Expirience UIUX

หลังจากที่ผมได้รู้ถึง Requirement เหล่านี้ ก็แน่นอนครับว่า WordPress สามารถทำได้อยู่แล้ว แต่ว่ามันต้องใช้เทคนิคหน่อยครับ เพราะความสามารถที่ต้องการมันไม่ใช่ค่าพื้นฐานที่  WordPress ให้มา เราต้องประยุกต์สักหน่อย มาดูกันครับว่าทำอย่างไร

member

ด้วยความที่ปกติแล้ว ผมจะแก้ไขปัญหาด้วยสิ่งที่มีอยู่แล้วก่อน ผมก็ลองค้นหาดูว่ามีปลักอินตัวไหนที่สามารถทำได้อย่างที่ต้องการหรือเปล่า ซึ่งมันก็ยังไม่มีแบบต้องการเป๊ะๆครับ แต่ไม่เป็นไร ขอให้รู้ว่ามันมีใกล้เคียงเราก็เอามาต่อยอดได้ เริ่มต้นด้วยการติดตั้งปลักอินตัวนี้ครับ 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 จะเจอหน้าตาแบบนี้

p02

ให้เราคลิกที่ปุ่ม Add Role เพื่อสร้างกลุ่มสมาชิกขึ้นมาใหม่

p03

แล้วก็ใส่ค่าเหมือนดังในรูปภาพครับ และเนื่องจากเราต้องการให้กลุ่มใหม่นี้มีความสามารถเหมือน Author ผมก็เลยให้มันก็อบค่าจาก author มา (เราแก้ไขเพิ่มเติมทีหลังได้)

ทีนี้เราก็ไปตั้งค่ากันครับว่า จะให้สมาชิกกลุ่ม silver ที่ผมสร้างขึ้นมาเนี่ย โพสต์ได้กี่เรื่อง โดยไปที่เมนู Setting > Post Creation Limits แล้วคลิกปุ่ม add new limit ครับ จะเจอหน้าต่างแบบนี้ ก็ใส่ๆค่าไป ง่ายมากๆ

p04

ใส่เสร็จแล้วก็อย่าลืมคลิก Save Change นะครับ ขั้นตอนสุดท้ายก็คือการตั้งค่าสมาชิกแต่ละคนว่าจะอยู่ในกลุ่มไหน โดยไปที่เมนู Users > All Users แล้วก็คลิก Edit สมาชิกที่เราต้องการย้ายกลุ่มไปไว้ใน Silver

p05

นี่แหล่ะครับ วิธีการตั้งค่าจำนวนโพสต์ที่สามารถโพสต์ได้สำหรับสมาชิกในเว็บ ลองไปประยุกต์ใช้งานกันดูนะครับ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้เพื่อการวิเคราะห์

    คุกกี้ประเภทนี้จะทำการเก็บข้อมูลการใช้งานเว็บไซต์ของคุณ เพื่อเป็นประโยชน์ในการวัดผล ปรับปรุง และพัฒนาประสบการณ์ที่ดีในการใช้งานเว็บไซต์ ถ้าหากท่านไม่ยินยอมให้เราใช้คุกกี้นี้ เราจะไม่สามารถวัดผล ปรับปรุงและพัฒนาเว็บไซต์ได้

  • คุกกี้เพื่อปรับเนื้อหาให้เข้ากับกลุ่มเป้าหมาย

    คุกกี้ประเภทนี้จะเก็บข้อมูลต่าง ๆ รวมทั้งข้อมูลวส่วนบบุคลเกี่ยวกับตัวคุณเพื่อเราสามารถนำมาวิเคราะห์ และนำเสนอเนื้อหา ให้ตรงกับความเหมาะสมกับความสนใจของคุณ ถ้าหากคุณไม่ยินยอมเราจะไม่สามารถนำเสนอเนื้อหาและโฆษณาได้ไม่ตรงกับความสนใจของคุณ

บันทึก