Chào các bạn, đã lâu mình không viết blog. Giờ mình hướng dẫn các bạn custom lại các widget mặc định của Woocommerce hoặc widget mặc định của WordPress cũng được.

Trước tiên thêm dòng sau vào file funciton.php của theme. Ở đây mình custom lại widget hiển thị sản phẩm (Product)

include get_template_directory() . '/widget/widget-custom-product.php';
add_action("widgets_init", "load_custom_widgets");
function load_custom_widgets() {
unregister_widget("WC_Widget_Products");
register_widget("WC_Widget_Custom_Products");
}

-Sau đó,tạo folder widget hoặc thư mục gì cũng được tùy bạn, nằm ngang hàng với file funciton.php nha bạn.

-Copy file ở path /plugins/woocommerce/includes/widgets/class-wc-widget-products.php vào folder mới vừa tạo

-Rename file vừa copy thành widget-custom-product.php. Tiến hành custom widget ở file đó theo ý bạn.

-Mở file widget-custom-product.php lên, edit tên class : ‘WC_Widget_Products’ thành ‘WC_Widget_Custom_Products

* Đối với widget mặc định WordPress, bạn vào path sau để copy file /wp-includes/widgets

Dưới đây là danh sách các widget mặc định của WordPress và Woocommerce

'WP_Widget_Calendar',
'WP_Widget_Archives',
'WP_Widget_Tag_Cloud',
'WP_Widget_Media_Audio',
'WP_Widget_Media_Video',
'WP_Widget_Media_Image',
'WP_Widget_Media_Gallery',
'WP_Widget_Meta',
'WP_Widget_Categories',
'WP_Widget_Recent_Posts',
'WP_Widget_Recent_Comments',
'WP_Widget_RSS',
'WP_Widget_Pages',
//* Keeping Core
//'WP_Widget_Custom_HTML',
//'WP_Nav_Menu_Widget',
//'WP_Widget_Text',
//'WP_Widget_Search',

//* --- Genesis ---
'Genesis_Featured_Page',
'Genesis_Featured_Posts',
'Genesis_User_Profile_Widget',

//* --- WooCommerce ---
'WC_Widget_Layered_Nav_Filters',
'WC_Widget_Cart',
'WC_Widget_Layered_Nav',
'WC_Widget_Price_Filter',
'WC_Widget_Product_Categories',
'WC_Widget_Product_Tag_Cloud',
'WC_Widget_Products',
'WC_Widget_Rating_Filter',
'WC_Widget_Recent_Reviews',
'WC_Widget_Recently_Viewed',
'WC_Widget_Top_Rated_Products',

//* Keeping Woo
// 'WC_Widget_Product_Search',