WordPress

Gỡ lỗi trong WordPress

Gỡ lỗi mã PHP là một phần của bất kỳ dự án nào, nhưng WordPress đi kèm với các hệ thống gỡ lỗi cụ thể được thiết kế để đơn giản hóa quy trình cũng như chuẩn hóa code trên core, plugin và theme. Bài viết này GreenApps sẽ mô tả các công cụ gỡ lỗi khác nhau trong WordPress và cách hiệu quả hơn trong việc viết code của bạn cũng như tăng chất lượng tổng thể và khả năng tương tác với code của bạn.

Đối với những người không phải là lập trình viên hoặc người dùng phổ thông, các tùy chọn này có thể được sử dụng để hiển thị thông tin chi tiết về lỗi.

WP_DEBUG

WP_DEBUGlà một hằng số PHP (một biến toàn cầu vĩnh viễn) có thể được sử dụng để kích hoạt chế độ “gỡ lỗi” trên toàn bộ WordPress. Nó được giả định là false theo mặc định và thường được đặt thành true trong tệp wp-config.php trên các bản sao phát triển của WordPress.

// This enables debugging.
define( 'WP_DEBUG', true );
// This disables debugging.
define( 'WP_DEBUG', false );

Lưu ý : Các giá trị truevà falsetrong ví dụ không được bao quanh bởi dấu nháy đơn (‘) vì chúng là các giá trị boolean (true / false). Nếu bạn đặt hằng số thành 'false', chúng sẽ được hiểu là true vì dấu ngoặc kép làm cho nó thành một chuỗi chứ không phải là boolean.

Nó không được khuyến khích sử dụng WP_DEBUGhoặc các công cụ gỡ lỗi khác trên các trang web trực tiếp; chúng dành cho thử nghiệm cục bộ và cài đặt theo giai đoạn.

PHP Errors, Warnings, and Notices

Việc kích hoạt WP_DEBUGsẽ hiển thị tất cả các lỗi PHP, thông báo và cảnh báo. Điều này có khả năng sửa đổi hành vi mặc định của PHP vốn chỉ hiển thị các lỗi nghiêm trọng và / hoặc hiển thị màn hình trắng chết khi gặp lỗi.

Hiển thị tất cả các thông báo và cảnh báo PHP thường dẫn đến thông báo lỗi cho những thứ có vẻ không bị hỏng, nhưng không tuân theo các quy ước xác thực dữ liệu phù hợp bên trong PHP. Những cảnh báo này rất dễ sửa sau khi mã có liên quan đã được xác định và mã trả về hầu như luôn có khả năng chống lỗi cao hơn và dễ bảo trì hơn.

Các hàm và đối số không được dùng nữa

Việc bật WP_DEBUGcũng sẽ gây ra thông báo về các hàm và đối số không dùng nữa trong WordPress đang được sử dụng trên trang web của bạn. Đây là những hàm hoặc đối số hàm vẫn chưa được xóa nhưng dự kiến sẽ bị xóa trong tương lai gần. Thông báo ngừng sử dụng thường chỉ ra chức năng mới nên được sử dụng thay thế.

WP_DEBUG_LOG

WP_DEBUG_LOG là bạn đồng hành với WP_DEBUG khiến tất cả các lỗi cũng được lưu vào tệp nhật ký debug.log Điều này hữu ích nếu bạn muốn xem lại tất cả các thông báo sau này hoặc cần xem các thông báo được tạo ngoài màn hình.

Ví dụ: trong một yêu cầu AJAX hoặc wp-cron chạy.

Lưu ý rằng điều này cho phép bạn ghi vào tệp nhật ký bằng cách sử dụng error_log()hàm tích hợp sẵn của PHP , có thể hữu ích, chẳng hạn như khi gỡ lỗi các sự kiện Ajax.

Khi được đặt thành true, nhật ký được lưu debug.logvào thư mục nội dung (thường wp-content/debug.log) trong hệ thống tệp của trang web của bạn. Ngoài ra, bạn có thể đặt nó thành một đường dẫn tệp hợp lệ để tệp được lưu ở nơi khác.

define( 'WP_DEBUG_LOG', true );
-or-
define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

Lưu ý : WP_DEBUG_LOGđể làm bất cứ điều gì, WP_DEBUGphải được kích hoạt (true). Hãy nhớ rằng bạn có thể tắt WP_DEBUG_DISPLAYmột cách độc lập.

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAYlà một bạn đồng hành khác để WP_DEBUGkiểm soát xem thông báo gỡ lỗi có được hiển thị bên trong HTML của các trang hay không. Giá trị mặc định là ‘true’ hiển thị các lỗi và cảnh báo khi chúng được tạo. Đặt giá trị này thành false sẽ ẩn tất cả các lỗi. Điều này nên được sử dụng kết hợp với WP_DEBUG_LOGđể các lỗi có thể được xem xét lại sau này.

define( 'WP_DEBUG_DISPLAY', false );

Lưu ý : WP_DEBUG_DISPLAYđể làm bất cứ điều gì, WP_DEBUGphải được kích hoạt (true). Hãy nhớ rằng bạn có thể kiểm soát WP_DEBUG_LOGmột cách độc lập.

SCRIPT_DEBUG

SCRIPT_DEBUGlà một hằng số có liên quan sẽ buộc WordPress sử dụng các phiên bản “dev” của các tệp CSS và JavaScript cốt lõi hơn là các phiên bản rút gọn thường được tải. Điều này rất hữu ích khi bạn đang thử nghiệm các sửa đổi đối với bất kỳ tệp .js hoặc .css nào được tích hợp sẵn. Mặc định là sai.

define( 'SCRIPT_DEBUG', true );

SAVEQUERIES

Các SAVEQUERIESđịnh nghĩa tiết kiệm các truy vấn cơ sở dữ liệu vào một mảng và mảng có thể được hiển thị để giúp phân tích các truy vấn. Hằng số được xác định là true khiến mỗi truy vấn được lưu, truy vấn đó mất bao lâu để thực thi và hàm nào đã gọi nó.

define( 'SAVEQUERIES', true );

Mảng được lưu trữ trong toàn cục $wpdb->queries.

LƯU Ý : Điều này sẽ ảnh hưởng đến hiệu suất trên trang web của bạn, vì vậy hãy đảm bảo tắt tính năng này khi bạn không gỡ lỗi.

Ví dụ wp-config.php cho Debugging

Đoạn mã sau, được chèn trong tệp wp-config.php của bạn  , sẽ ghi lại tất cả các lỗi, thông báo và cảnh báo vào tệp có tên debug.log trong thư mục wp-content. Nó cũng sẽ ẩn các lỗi để chúng không làm gián đoạn quá trình tạo trang.

// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

// Disable display of errors and warnings
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );

LƯU Ý : Bạn phải chèn cái này TRƯỚC /* Đó là tất cả, dừng chỉnh sửa! Chúc bạn viết blog vui vẻ  */  vào tệp wp-config.php .

Lời kết

Chúng tôi hy vọng bài viết này giúp bạn tìm hiểu làm thế nào để gỡ lỗi trong WordPress. Nếu có thắc mắc gì bạn có thể comment ở dưới bài viết, tôi sẽ giải đáp thắc mắc cho bạn.

Hãy theo dõi fb: greenapps thường xuyên để biết thêm nhiều kiến thức thú vị nhé!

Để lại bình luận

Your email address will not be published. Required fields are marked *