จากปัญหา
The following errors were reported: call_user_func_array() expects parameter 1 to be a valid callback, non-static method xxx::init() should not be called statically
ใน plugin “Jetpack for WordPress” ซึ่งเกิดจากการเขียนโค้ดไม่ตรงกับ Strict standards ใน PHP ที่อยู่ๆ ก็มีการเขียนไป call ตัว static method ใน method ที่ไม่ใช่ static ทำให้เกิดข้อผิดพลาดดังกล่าว
ปัญหานี้จะเกิดกับ Class ของ module ใน plugins “Jetpack for WordPress” ทั้งหมด 4 ตัว (ณ ตอนนี้ที่ไล่หาดู) โดยมี Class ดังต่อไปนี้
- Jetpack_Notifications
- Jetpack_Post_By_Email
- Jetpack_Subscriptions
- Jetpack_Likes
การแก้ไขก็ง่ายๆ ไม่มีอะไรซับซ้อน (ถ้าเข้าใจ)
โดยเพิ่ม “public static” ไปหน้า function &init() ให้เป็น public static function &init() ในไฟล์ subscriptions.php, post-by-email.php, notes.php และ likes.php ซึ่งอยู่ใน wp-content/plugins/jetpack/modules
เพียงแค่นี้ก็จบปัญหาครับ