The called constructor method for WP_Widget

Cập nhật lần cuối vào

Bài viết này mình sẽ cập nhật cho các bạn các sửa lỗi The called constructor method for WP_Widget, thật ra cái này cũng không phải là lỗi gì mà nó là một hàm bị deprecated trong WordPress, mình cũng không biết dịch cái từ này sang Tiếng Việt theo nghĩa nào cho đúng nữa.

Deprecated function and argument

Khi bạn gặp một hàm hoặc một tham số nào đó với thông báo là đã bị deprecated thì có nghĩa hàm này đã lỗi thời, không còn được khuyến khích sử dụng bởi nó đã được thay thế bằng một hàm khác.

PHP Notice:  The called constructor method for WP_Widget is <strong>deprecated</strong> since version 4.3.0! Use <pre>__construct()</pre> instead.

Nếu bạn là một lập trình viên hoặc một người bình thường mà muốn phát triển WordPress, bạn nên bật chế độ debug trong WordPress để kiểm tra các lỗi phát sinh, đảm bảo rằng sản phẩm của bạn khi đến tay người dùng cuối có càng ít lỗi càng tốt.

xem thêm: Cách bật debug trong WordPress

Khi một lỗi nào đó được trình debug phát hiện thì nó sẽ được ghi chú rõ ràng, được sử dụng ở đâu, được khai báo ở đâu. Bạn dựa vào thông tin này để chỉnh sửa lại code của bạn cho phù hợp. Tương tự với class WP_Widget bên trên. Đây là API để bạn tạo widget trên WordPress.

// Creating the widget 
class HOCWP_Test_Widget extends WP_Widget {
    // Right
    public function __construct() {
        parent::__construct('hocwp_widget', __('HOCWP Test Widget', 'hocwp'), array(
                    'description' => __('Just a test widget by HOCWP.', 'hocwp')
                )
        );
    }
    
    // Wrong
    public function HOCWP_Test_Widget() {
        $this->WP_Widget('hocwp_widget', __('HOCWP Test Widget', 'hocwp'), array(
                'description' => __('Just a test widget by HOCWP.', 'hocwp')
            )
        );
    }
}

Như vậy bạn chỉ cần thay hàm WP_Widget thành hàm __construct là lỗi này sẽ mất. Bạn có thể xem đoạn code bên trên để biết thêm cách khắc phục. Chúc bạn thành công.

Theo dõi
Thông báo của
guest

2 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Hào
Hào
8 năm trước

Bạn ơi cho mình hỏi bạn bạn dùng plugin comment này tên gì dậy. Cảm ơn bạn 🙂