Mọi người ơi cho em hỏi, em ngồi tối ưu lại site chạy woocommerce thì còn lại đúng 1 hàm wp_load_alloptions() nó chạy lâu quá toàn 3-4s có lúc thì nó lại xuống 0.1s không biết có cách nào cache lại hay là làm cho nó chạy nhanh hơn k ạ? Em đã đánh index cái cột autoload trong database rồi những thấy vẫn không ăn thua.
Sao bạn không dùng get_option - cần tới đâu load tới đó, chứ nhiều cái đã load rồi bạn load lại tất cả nữa nên nặng. Tùy theo nhu cầu của bạn, bên dưới là đề xuất của mình : PHP: <?phpif (file_exists($file = __DIR__ . '/.alloptions.cache')){ $alloptions = json_decode(file_get_contents($file));}else{ $alloptions = wp_load_alloptions(); @file_put_contents($file, json_encode($alloptions));}?>
Cái hàm đấy của mình nó nằm trong file option.php (wp-include/option.php) vậy thì mình cần sửa ở đâu trong code đấy theo cách của bác nhỉ?
Cập nhật trong theme của bạn chớ! Lỗi phát sinh nếu bạn cập nhật wp-include/option.php khi WP update core. Còn hàm wp_load_alloptions sẽ trả về array, bạn thế chỗ đoạn nào trong theme của bạn đó!