Khắc phục lỗi pluggable.php trong WordPress

2 ngày ago, Hướng dẫn WordPress, 5 Views
Khắc phục lỗi pluggable.php trong WordPress

Giới thiệu về lỗi pluggable.php trong WordPress

Lỗi “pluggable.php” là một trong những lỗi phổ biến và gây khó chịu nhất trong WordPress. Nó thường xuất hiện dưới dạng thông báo lỗi trên trang web của bạn, chẳng hạn như:

Cannot redeclare function [tên_hàm] (previously declared in [đường_dẫn_file]) in [đường_dẫn_file] on line [số_dòng]

Thông báo này chỉ ra rằng một hàm (function) đã được khai báo nhiều lần trong các file khác nhau của WordPress. File pluggable.php chứa các hàm WordPress lõi có thể được ghi đè (overridden) bởi các plugin hoặc theme. Khi một hàm trong pluggable.php bị khai báo lại, lỗi này sẽ xảy ra.

Lỗi này có thể dẫn đến nhiều vấn đề, bao gồm:

  • Trang web không hoạt động đúng cách.
  • Các chức năng của WordPress bị lỗi.
  • Trang web hoàn toàn không truy cập được.

Hiểu rõ nguyên nhân gây ra lỗi pluggable.php là bước đầu tiên để khắc phục nó một cách hiệu quả. Bài viết này sẽ cung cấp cho bạn các nguyên nhân phổ biến và các phương pháp khắc phục chi tiết.

Nguyên nhân phổ biến gây ra lỗi pluggable.php

Có nhiều nguyên nhân dẫn đến lỗi pluggable.php, nhưng dưới đây là những nguyên nhân phổ biến nhất:

  • Conflict giữa các Plugin: Đây là nguyên nhân phổ biến nhất. Hai hoặc nhiều plugin có thể đang cố gắng khai báo cùng một hàm, dẫn đến xung đột.
  • Conflict giữa Plugin và Theme: Tương tự như trên, một plugin và theme có thể đang cố gắng khai báo cùng một hàm.
  • Plugin hoặc Theme bị lỗi: Một plugin hoặc theme có thể chứa mã lỗi, bao gồm việc khai báo lại một hàm đã tồn tại.
  • Cài đặt WordPress bị lỗi: Trong một số trường hợp hiếm hoi, các file lõi của WordPress có thể bị lỗi, dẫn đến lỗi pluggable.php.
  • Vấn đề về bộ nhớ cache: Đôi khi, bộ nhớ cache có thể lưu trữ phiên bản cũ của một file, dẫn đến lỗi này.

Xác định nguyên nhân cụ thể gây ra lỗi trong trường hợp của bạn có thể mất thời gian, nhưng với các bước dưới đây, bạn có thể thu hẹp phạm vi tìm kiếm.

Các bước khắc phục lỗi pluggable.php

Dưới đây là các bước bạn có thể thực hiện để khắc phục lỗi pluggable.php:

1. Xác định plugin hoặc theme gây ra lỗi

Thông báo lỗi thường chỉ ra tên hàm gây ra xung đột và file chứa hàm đó. Điều này có thể giúp bạn xác định plugin hoặc theme gây ra vấn đề. Ví dụ:

Cannot redeclare function wp_kses_bad_protocol() (previously declared in /home/your_site/wp-includes/kses.php:1955) in /home/your_site/wp-content/plugins/plugin-name/plugin-file.php on line 123

Trong ví dụ này, plugin “plugin-name” có thể là nguyên nhân gây ra lỗi.

2. Vô hiệu hóa tất cả các plugin

Nếu bạn không thể xác định plugin gây ra lỗi từ thông báo lỗi, hãy vô hiệu hóa tất cả các plugin. Điều này sẽ giúp bạn xác định xem một trong các plugin có phải là nguyên nhân hay không. Bạn có thể thực hiện việc này thông qua bảng điều khiển WordPress (Dashboard):

  1. Đăng nhập vào bảng điều khiển WordPress của bạn.
  2. Đi tới “Plugins” -> “Installed Plugins”.
  3. Chọn tất cả các plugin.
  4. Chọn “Deactivate” từ menu “Bulk Actions” và nhấp vào “Apply”.

Sau khi vô hiệu hóa tất cả các plugin, hãy kiểm tra xem lỗi còn tồn tại hay không. Nếu lỗi biến mất, điều đó có nghĩa là một trong các plugin đã gây ra lỗi.

3. Kích hoạt từng plugin một

Sau khi vô hiệu hóa tất cả các plugin, hãy kích hoạt chúng lại từng cái một, kiểm tra trang web của bạn sau mỗi lần kích hoạt. Khi bạn kích hoạt một plugin và lỗi xuất hiện lại, bạn đã tìm ra plugin gây ra lỗi.

4. Chuyển sang theme mặc định của WordPress

Nếu lỗi vẫn tồn tại sau khi bạn đã vô hiệu hóa tất cả các plugin, theme của bạn có thể là nguyên nhân. Để kiểm tra điều này, hãy chuyển sang một trong các theme mặc định của WordPress (ví dụ: Twenty Twenty-Three, Twenty Twenty-Four):

  1. Đăng nhập vào bảng điều khiển WordPress của bạn.
  2. Đi tới “Appearance” -> “Themes”.
  3. Kích hoạt một trong các theme mặc định của WordPress.

Nếu lỗi biến mất sau khi bạn chuyển sang theme mặc định, theme của bạn có thể là nguyên nhân gây ra lỗi.

5. Cập nhật WordPress, Plugin và Theme

Phiên bản cũ của WordPress, plugin hoặc theme có thể chứa các lỗi gây ra sự cố này. Hãy đảm bảo rằng bạn đang sử dụng phiên bản mới nhất của tất cả các phần mềm này:

  • Cập nhật WordPress: Đi tới “Dashboard” -> “Updates” và cài đặt bất kỳ bản cập nhật nào có sẵn.
  • Cập nhật Plugin: Đi tới “Plugins” -> “Installed Plugins” và cập nhật bất kỳ plugin nào có bản cập nhật.
  • Cập nhật Theme: Đi tới “Appearance” -> “Themes” và cập nhật theme của bạn nếu có bản cập nhật.

6. Kiểm tra file pluggable.php

Trong một số trường hợp hiếm hoi, file pluggable.php có thể bị hỏng. Để khắc phục điều này, bạn có thể tải lại phiên bản mới của file này từ bản cài đặt WordPress gốc. Bạn có thể tải WordPress từ trang chủ WordPress.org và sao chép file wp-includes/pluggable.php vào thư mục tương ứng trên máy chủ của bạn. Lưu ý: Sao lưu file pluggable.php hiện tại trước khi thay thế.

7. Xóa bộ nhớ cache

Đôi khi, bộ nhớ cache có thể lưu trữ các phiên bản cũ của file, gây ra lỗi. Hãy xóa bộ nhớ cache của trình duyệt và bộ nhớ cache của WordPress (nếu bạn đang sử dụng plugin tạo bộ nhớ cache). Nếu bạn sử dụng một plugin tạo bộ nhớ cache, hãy tìm tùy chọn để xóa bộ nhớ cache trong cài đặt của plugin đó.

8. Sửa lỗi trong mã (chỉ dành cho người dùng nâng cao)

Nếu bạn có kỹ năng lập trình, bạn có thể cố gắng sửa lỗi trong mã của plugin hoặc theme gây ra lỗi. Hãy cẩn thận khi chỉnh sửa mã và sao lưu các file trước khi thực hiện bất kỳ thay đổi nào. Thông thường, lỗi nằm ở việc khai báo lại một hàm đã tồn tại. Bạn có thể sử dụng hàm function_exists() để kiểm tra xem hàm đã được khai báo hay chưa trước khi khai báo nó:

if ( ! function_exists( 'tên_hàm' ) ) {
 function tên_hàm() {
  // Mã của hàm
 }
}

Thay thế tên_hàm bằng tên của hàm gây ra lỗi.

9. Liên hệ với hỗ trợ

Nếu bạn đã thử tất cả các bước trên mà vẫn không thể khắc phục lỗi, hãy liên hệ với nhà phát triển plugin hoặc theme gây ra lỗi để được hỗ trợ. Bạn cũng có thể tìm kiếm sự giúp đỡ trên các diễn đàn hỗ trợ WordPress.

Phòng ngừa lỗi pluggable.php trong tương lai

Để tránh lỗi pluggable.php trong tương lai, hãy thực hiện các biện pháp sau:

  • Chỉ cài đặt các plugin và theme từ các nguồn đáng tin cậy.
  • Cập nhật WordPress, plugin và theme thường xuyên.
  • Kiểm tra plugin và theme trên một trang web thử nghiệm trước khi cài đặt chúng trên trang web chính thức của bạn.
  • Sử dụng các plugin và theme có chất lượng tốt và được hỗ trợ tốt.
  • Ghi lại các thay đổi mà bạn thực hiện trên trang web của mình.

Kết luận

Lỗi pluggable.php có thể gây ra nhiều rắc rối cho người dùng WordPress, nhưng với các bước khắc phục được trình bày trong bài viết này, bạn có thể tự mình giải quyết vấn đề một cách hiệu quả. Điều quan trọng là phải xác định nguyên nhân gây ra lỗi và thực hiện các biện pháp phòng ngừa để tránh lỗi này trong tương lai. Chúc bạn thành công!