Wordpress
Hướng dẫn code PHP để thiết lập slug của danh mục sản phẩm trong WooCommerce chỉ 1 cấp
Nếu bạn đang sử dụng WooCommerce và muốn thiết lập slug của danh mục sản phẩm chỉ 1 cấp, bạn cần phải sửa mã nguồn trong file functions.php
của theme hiện tại đang sử dụng. Dưới đây là các bước chi tiết:
Mục lục
hiện
Bước 1: Đăng nhập vào trang quản trị WordPress
Để bắt đầu, đăng nhập vào trang quản trị WordPress của bạn.
Bước 2: Truy cập vào trình chỉnh sửa chủ đề
Truy cập vào menu "Appearance" (Giao diện) và chọn "Theme Editor" (Trình chỉnh sửa chủ đề) hoặc "Editor" (Trình chỉnh sửa).
Bước 3: Tìm file functions.php
Tìm kiếm file functions.php
trong danh sách các tập tin của theme hiện tại của bạn, sau đó mở nó.
Bước 4: Thêm đoạn mã vào cuối file functions.php
Sau khi mở file functions.php
, thêm đoạn mã sau vào cuối file:
// Remove parent category from WooCommerce product category URLs
add_filter('term_link', 'remove_parent_category_slug', 10, 3);
function remove_parent_category_slug($url, $term, $taxonomy) {
if ($taxonomy == 'product_cat') {
$url = site_url() . '/' . $term->slug;
}
return $url;
}
// Rewrite rule to fix 404 errors for product categories
add_filter('rewrite_rules_array', 'fix_404_rewrite_rules_for_product_categories');
function fix_404_rewrite_rules_for_product_categories($rules) {
$new_rules = array();
$terms = get_terms(array(
'taxonomy' => 'product_cat',
'hide_empty' => false,
));
if ($terms && !is_wp_error($terms)) {
foreach ($terms as $term) {
$new_rules[$term->slug . '/?$'] = 'index.php?product_cat=' . $term->slug;
$new_rules[$term->slug . '/page/([0-9]{1,})/?$'] = 'index.php?product_cat=' . $term->slug . '&paged=$matches[1]';
}
}
return array_merge($new_rules, $rules);
}
// Flush rewrite rules after theme switch
add_action('after_switch_theme', 'flush_rewrite_rules_after_theme_switch');
function flush_rewrite_rules_after_theme_switch() {
flush_rewrite_rules();
}
Bước 5: Lưu thay đổi
Sau khi thêm đoạn mã vào file functions.php, lưu thay đổi bằng cách nhấn nút "Update File" (Cập nhật tập tin) hoặc "Save Changes" (Lưu thay đổi).