Permalinks – Xóa tiền tố URL mặc định trong WordPress

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài Permalinks – Xóa tiền tố URL mặc định trong WordPress

Mặc định WordPress thêm slug category tag cho danh mục và thẻ. Nhiều người dùng WooCommerce cũng không thích điều này. Bạn cũng muốn xóa sổ slug với đường dẫn sản phẩm, danh mục & không muốn tùy biến permalink trong phần cài đặt Permalinks của WordPress. Bài viết này mình sẽ hướng dẫn cách bỏ hoàn toàn slug của danh mục và bài viết hay mặt hàng WooCommerce

Xem thêm: Cấu hình URL cho thân thiện SEO WordPress

Bằng cách khai báo cấu trúc URL cho toàn bộ danh mục & sửa lại liên kết để loại bỏ tiền tố slug khi duyệt URL mới, thêm đoạn code sau vào functions.php

    'product_cat', 'post_type' =>  'product', 'hide_empty' =>  false, )); if($terms && !is_wp_error($terms)){ $siteurl = esc_url(home_url('/')); foreach ($terms as $term){ $term_slug = $term-> slug; $baseterm = str_replace($siteurl,'',get_term_link($term-> term_id,'product_cat')); add_rewrite_rule($baseterm.'?$','index.php?product_cat='.$term_slug,'top'); add_rewrite_rule($baseterm.'page/([0-9]{1,})/?$', 'index.php?product_cat='.$term_slug.'&paged=$matches[1]','top'); add_rewrite_rule($baseterm.'(?:feed/)?(feed|rdf|rss|rss2|atom)/?$', 'index.php?product_cat='.$term_slug.'&feed=$matches[1]','top'); } } if ($flash == true) flush_rewrite_rules(false); } add_action('init', 'devvn_product_category_rewrite_rules'); /*Sửa lỗi khi tạo mới taxomony bị 404*/ add_action( 'create_term', 'devvn_new_product_cat_edit_success', 10, 2 ); function devvn_new_product_cat_edit_success( $term_id, $taxonomy ) { devvn_product_category_rewrite_rules(true); } /* * Code Bỏ /san-pham/ hoặc ... có bổ trợ dạng %product_cat% */ function devvn_remove_slug( $post_link, $post ) { if ( !in_array( get_post_type($post), array( 'product' ) ) || 'publish' != $post-> post_status ) { return $post_link; } if('product' == $post-> post_type){ $post_link = str_replace( '/san-pham/', '/', $post_link ); //Thay cua-hang bằng slug hiện tại của bạn }else{ $post_link = str_replace( '/' . $post-> post_type . '/', '/', $post_link ); } return $post_link; } add_filter( 'post_type_link', 'devvn_remove_slug', 10, 2 ); /*Sửa lỗi 404 sau khi đã remove slug product hoặc cua-hang*/ function devvn_woo_product_rewrite_rules($flash = false) { global $wp_post_types, $wpdb; $siteLink = esc_url(home_url('/')); foreach ($wp_post_types as $type=> $custom_post) { if($type == 'product'){ if ($custom_post-> _builtin == false) { $querystr = "SELECT {$wpdb-> posts}.post_name, {$wpdb-> posts}.ID FROM {$wpdb-> posts} WHERE {$wpdb-> posts}.post_status = 'publish' AND {$wpdb-> posts}.post_type = '{$type}'"; $posts = $wpdb-> get_results($querystr, OBJECT); foreach ($posts as $post) { $current_slug = get_permalink($post-> ID); $base_product = str_replace($siteLink,'',$current_slug); add_rewrite_rule($base_product.'?$', "index.php?{$custom_post-> query_var}={$post-> post_name}", 'top'); } } } } if ($flash == true) flush_rewrite_rules(false); } add_action('init', 'devvn_woo_product_rewrite_rules'); /*Fix lỗi khi tạo sản phẩm mới bị 404*/ function devvn_woo_new_product_post_save($post_id){ global $wp_post_types; $post_type = get_post_type($post_id); foreach ($wp_post_types as $type=> $custom_post) { if ($custom_post-> _builtin == false && $type == $post_type) { devvn_woo_product_rewrite_rules(true); } } } add_action('wp_insert_post', 'devvn_woo_new_product_post_save');  

Bạn hãy nhớ sửa ‘taxomony_slug’ và slug sản phẩm ngày nay đã cấu hình trong mục Permalinks. Đừng lo, vì mỗi khi thêm danh mục hay sản phẩm mới đoạn code trên sẽ tự động khai báo Permalink mới cho danh mục & sản phẩm đó.

Lưu ý để các URLs cũ hoạt động, sau khi lưu tệp functions.php hãy truy cập vào “Settings > Permalink” và nhấn nút lưu lại để bổ xung cấu trúc Permalinks cho dữ liệu cũ. Chúc bạn thành công!

Bài viết Permalinks – Xóa tiền tố URL mặc định trong WordPress được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang