WooCommerce là một trong những plugin phổ biến nhất cho WordPress, giúp bạn xây dựng cửa hàng trực tuyến mạnh mẽ và linh hoạt. Tuy nhiên, đôi khi bạn cần tùy chỉnh WooCommerce để phù hợp hơn với nhu cầu của mình. Dưới đây là một số đoạn code hay giúp bạn cải thiện và mở rộng chức năng của WooCommerce trong WordPress.
1. Thay Đổi Tiêu Đề Trang Giỏ Hàng
Nếu bạn muốn thay đổi tiêu đề trang giỏ hàng, có thể sử dụng đoạn code sau:
add_filter('the_title', 'change_cart_title', 10, 2);
function change_cart_title($title, $id) {
if (is_cart() && $id == get_option('woocommerce_cart_page_id')) {
$title = 'Giỏ Hàng Của Tôi';
}
return $title;
}
2. Tắt Đánh Giá Sản Phẩm
Để tắt chức năng đánh giá sản phẩm trong WooCommerce, bạn có thể sử dụng đoạn code này:
add_filter('woocommerce_product_tabs', 'remove_reviews_tab', 98);
function remove_reviews_tab($tabs) {
unset($tabs['reviews']);
return $tabs;
}
3. Thay Đổi Văn Bản Nút Thêm Vào Giỏ
Nếu bạn muốn thay đổi văn bản của nút “Thêm vào giỏ”, hãy sử dụng đoạn code sau:
add_filter('woocommerce_product_single_add_to_cart_text', 'change_add_to_cart_text');
function change_add_to_cart_text() {
return __('Mua Ngay', 'woocommerce');
}
4. Tạo Mới Một Sản Phẩm Từ Mã Code
Đoạn code sau giúp bạn tự động tạo một sản phẩm mới:
function create_new_product() {
$post_id = wp_insert_post(array(
'post_title' => 'Sản Phẩm Mới',
'post_content' => 'Mô tả sản phẩm.',
'post_status' => 'publish',
'post_type' => 'product',
));
if ($post_id) {
wp_set_object_terms($post_id, 'simple', 'product_type');
update_post_meta($post_id, '_regular_price', '100.00');
update_post_meta($post_id, '_price', '100.00');
}
}
add_action('init', 'create_new_product');
5. Hiển Thị Số Lượng Sản Phẩm Trong Giỏ
Đoạn code này giúp bạn hiển thị số lượng sản phẩm trong giỏ hàng ở vị trí tùy chỉnh:
function custom_cart_count() {
global $woocommerce;
$cart_count = $woocommerce->cart->cart_contents_count;
echo '<span class="cart-count">' . $cart_count . '</span>';
}
add_action('wp_footer', 'custom_cart_count');
6. Ẩn Giá Sản Phẩm Trên Trang Chính
Để ẩn giá sản phẩm trên trang chính, bạn có thể sử dụng đoạn code sau:
add_filter('woocommerce_get_price_html', 'hide_price_on_shop', 10, 2);
function hide_price_on_shop($price, $product) {
if (is_shop() || is_product_category()) {
return '';
}
return $price;
}
7. Thay Đổi Hình Ảnh Sản Phẩm Trên Trang Giỏ
Đoạn code sau giúp bạn thay đổi hình ảnh sản phẩm hiển thị trong giỏ hàng:
add_filter('woocommerce_cart_item_thumbnail', 'custom_cart_item_thumbnail', 10, 3);
function custom_cart_item_thumbnail($thumbnail, $cart_item, $cart_item_key) {
$product_id = $cart_item['product_id'];
$image_id = get_post_thumbnail_id($product_id);
$image_url = wp_get_attachment_image_src($image_id, 'thumbnail')[0];
return '<img src="' . $image_url . '" alt="' . get_the_title($product_id) . '" />';
}
8. Thay Đổi URL Liên Kết Đăng Nhập
Nếu bạn muốn thay đổi URL liên kết đăng nhập của WooCommerce, sử dụng đoạn code này:
add_filter('login_url', 'custom_login_url', 10, 2);
function custom_login_url($login_url, $redirect) {
return home_url('/dang-nhap');
}
9. Thêm Tùy Chọn Giao Hàng Miễn Phí Cho Đơn Hàng Trên 500.000 VNĐ
Đoạn code sau giúp bạn thêm tùy chọn giao hàng miễn phí cho đơn hàng từ 500.000 VNĐ trở lên:
add_action('woocommerce_cart_calculate_fees', 'free_shipping_for_large_orders');
function free_shipping_for_large_orders() {
global $woocommerce;
$minimum_amount = 500000;
if ($woocommerce->cart->cart_contents_total >= $minimum_amount) {
$woocommerce->cart->add_fee('Giao hàng miễn phí', 0);
}
}
10. Tạo Một Trang Cảm Ơn Sau Khi Thanh Toán
Đoạn code này giúp bạn tạo một trang cảm ơn tùy chỉnh sau khi thanh toán thành công:
add_action('woocommerce_thankyou', 'custom_thank_you_page');
function custom_thank_you_page($order_id) {
$order = wc_get_order($order_id);
echo '<p>Cảm ơn bạn đã mua hàng! Đơn hàng của bạn đã được xử lý thành công.</p>';
}
Hy vọng những đoạn code trên sẽ giúp bạn tùy chỉnh WooCommerce theo nhu cầu của mình một cách dễ dàng và hiệu quả. Nếu bạn có bất kỳ câu hỏi nào hoặc cần thêm sự trợ giúp, đừng ngần ngại để lại câu hỏi trong phần bình luận!
Kết nối với web designer Lê Thành Nam