ฉันประหลาดใจที่ค้นพบว่า add_role () แก้ไขฐานข้อมูลและล้มเหลวหากมีบทบาทอยู่แล้ว มีความหมายสองประการที่นี่ร้ายแรงกว่าอีกข้อหนึ่ง: 1) หากคุณกำลังพัฒนาและอัปเดตรหัส add_role ของคุณคุณต้องลบ remove_role () 2) ทันทีที่คุณมีมันถูกต้องคุณไม่ควรรันโค้ดนั้น อีกครั้ง
ดังนั้นโดยทั่วไปฉันวาง add_role () ไว้ในตะขอแอ็คชัน wp_loaded และเนื่องจากฉันอยู่ระหว่างการพัฒนาฉันได้เพิ่ม remove_role () ก่อนหน้า add_role ของฉันด้วยดังนั้นฉันจึงมั่นใจได้ว่าถ้าฉันแก้ไขรายการตัวพิมพ์ใหญ่ก็จะมีผลจริง
แต่ชัดเจนว่าตอนนี้ถูกเรียกใช้ทุกครั้งที่มีการเข้าถึงหน้าเว็บของบล็อก โอเคฉันสามารถใส่ไว้ในการกระทำของผู้ดูแลระบบเท่านั้นหรือฉันสามารถสร้างหน้าปลั๊กอินได้ภายใต้ผู้ใช้หรือเครื่องมือที่บทบาทนี้สามารถสร้างได้ครั้งเดียว ฉันคิดว่าฉันหวังว่าจะมีทางออกที่ง่ายกว่าและสง่างามกว่าอยู่ที่นั่น
ฉันไม่คิดว่าจะมีการกระทำแบบ run_once อยู่ที่นั่นหรือ
หรือวิธีปฏิบัติที่ดีที่สุดเพียงเพิ่มบทบาทแล้วใช้ add_cap () หลายครั้ง และถึงอย่างนั้นฉันก็จินตนาการว่า add_cap กำลังเข้าถึงฐานข้อมูล
แค่คิดในแง่ของวิธีที่ดีที่สุดในการลดการเข้าถึง db ที่ไม่จำเป็น อะไรคือแนวทางปฏิบัติที่ดีที่สุดของคุณ?
remove_role()
ฟังก์ชั่นก่อนที่จะadd_role()
ช่วยฉัน