• Home
  • WordPress
    • Thủ thuật WordPress
    • WordPress plugins
    • WordPress themes
    • Hosting và domain
  • Kiếm tiền
    • Google AdSense
    • Tiếp thị liên kết
    • Rút gọn link
  • Quà tặng
  • Khuyến mãi
  • Đánh giá
  • Dịch vụ
    • WordPress Hosting
    • Cài đặt WordPress
    • Quét mã độc website
    • Tối ưu WordPress
    • Mua theme Paradise
  • Thông báo
  • Liên hệ

WP Căn bản

Thủ thuật WordPress và kiếm tiền online

wordpress-theme-tot-nhat

Trang chủ » WordPress » Thủ thuật WordPress » Loại bỏ chữ product và product-category trong WooCommerce

Loại bỏ chữ product và product-category trong WooCommerce

31/03/2019 09/07/2019 Trung Hiếu 36 Bình luận

Mục lục bài viết

  1. Loại bỏ chữ product và product-category trong WooCommerce

Loại bỏ chữ product và product-category trong đường dẫn của WooCommerce một cách đơn giản.

loai-bo-chu-product-va-product-category-trong-duong-dan-cua-woocommerce

Theo mặc định, trong đường dẫn (permalink) của WooCommerce sẽ có thêm chữ product (sản phẩm) và product-category (danh mục sản phẩm). Điều này giúp phân biệt với đường dẫn của bài viết hay các chuyên mục của bài viết. WooCommerce không khuyến khích việc loại bỏ những chữ này để tránh lỗi trùng lặp hay xung đột đường dẫn giữa bài viết thông thường và sản phẩm. Tuy nhiên, nhiều bạn vẫn muốn loại bỏ chúng để đường dẫn của sản phẩm ngắn gọn hơn, thân thiện với công cụ tìm kiếm hơn.

Tham khảo thêm:

  • Loại bỏ chữ category trong đường dẫn của WordPress
  • Cấu trúc permalink nào tốt nhất dành cho WordPress?

Loại bỏ chữ product và product-category trong WooCommerce

Có nhiều phương pháp khác nhau để làm điều này, cả plugin lẫn code snippets. Tôi thấy một số trang đang chia sẻ code snippets giúp tùy biến đường dẫn của WooCommerce mà không cần dùng plugin. Cụ thể ở đây là code:

/*
* Code Bỏ /product/ hoặc /cua-hang/ hoặc /shop/ … có hỗ trợ dạng %product_cat%
* Thay /cua-hang/ bằng slug hiện tại của bạn
*/
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');
add_rewrite_rule($base_product.'comment-page-([0-9]{1,})/?$', 'index.php?'.$custom_post->query_var.'='.$post->post_name.'&cpage=$matches[1]', 'top');
add_rewrite_rule($base_product.'(?:feed/)?(feed|rdf|rss|rss2|atom)/?$', 'index.php?'.$custom_post->query_var.'='.$post->post_name.'&feed=$matches[1]','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');
// Remove Parent Category from Child Category URL
add_filter('term_link', 'devvn_no_category_parents', 1000, 3);
function devvn_no_category_parents($url, $term, $taxonomy) {
if($taxonomy == 'category'){
$term_nicename = $term->slug;
$url = trailingslashit(get_option( 'home' )) . user_trailingslashit( $term_nicename, 'category' );
}
return $url;
}
// Rewrite url mới
function devvn_no_category_parents_rewrite_rules($flash = false) {
$terms = get_terms( array(
'taxonomy' => 'category',
'post_type' => 'post',
'hide_empty' => false,
));
if($terms && !is_wp_error($terms)){
foreach ($terms as $term){
$term_slug = $term->slug;
add_rewrite_rule($term_slug.'/?$', 'index.php?category_name='.$term_slug,'top');
add_rewrite_rule($term_slug.'/page/([0-9]{1,})/?$', 'index.php?category_name='.$term_slug.'&paged=$matches[1]','top');
add_rewrite_rule($term_slug.'/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$', 'index.php?category_name='.$term_slug.'&feed=$matches[1]','top');
}
}
if ($flash == true)
flush_rewrite_rules(false);
}
add_action('init', 'devvn_no_category_parents_rewrite_rules');
/*Sửa lỗi khi tạo mới category bị 404*/
function devvn_new_category_edit_success() {
devvn_no_category_parents_rewrite_rules(true);
}
add_action('created_category','devvn_new_category_edit_success');
add_action('edited_category','devvn_new_category_edit_success');
add_action('delete_category','devvn_new_category_edit_success');

view raw
functions.php
hosted with ❤ by GitHub

Tuy nhiên, trên thực tế những code này không tối ưu nên gây ảnh hưởng nghiêm trọng đến hiệu suất của website. Cụ thể, chúng có thể làm CPU và RAM của host bị quá tải, dẫn đến website load rất chậm, thậm chí bị lỗi 503 (quá tải). Tôi đã từng ghi nhận tình trạng này trên website của một số khách hàng. Các bạn tuyệt đối không nên sử dụng chúng.

Trong bài viết này, tôi sẽ giới thiệu cho các bạn cách đơn giản mà hiệu quả nhất, ít gây ảnh hưởng tới hiệu suất hoạt động của website.

1. Đầu tiên, các bạn cần phải cài đặt và kích hoạt một plugin có tên là Premmerce WooCommerce Permalink Manager Pro.

cai-dat-va-kich-hoat-plugin-premmerce-woocommerce-permalink-manager-pro

2. Tiếp theo, click vào nút Allow & Continue.

click-vao-nut-allow-and-continue

3. Giao diện thiết lập của plugin sẽ trông giống như thế này. Hãy lựa chọn dạng cấu trúc đường dẫn phù hợp với nhu cầu của bạn.

woocommerce-permalink-settings

Trong đó:

  • Use WooCommerce settings: sử dụng thiết lập permalink của WooCommerce. Thiết lập này các bạn có thể tùy biến tại Settings => Permalinks. Nó nằm ngay bên dưới phần thiết lập permalink của WordPress.
  • Category slug: sử dụng đường dẫn danh mục sản phẩm kiểu tenmien.com/ten-danh-muc-san-pham.
  • Product slug: sử dụng đường dẫn sản phẩm kiểu tenmien.com/ten-san-pham.
  • Full category path: sử dụng đường dẫn danh mục sản phẩm kiểu tenmien.com/ten-danh-muc-me/ten-danh-muc-con.
  • Product slug with primary category: sử dụng đường dẫn sản phẩm kiểu tenmien.com/ten-danh-muc-san-pham/ten-san-pham.
  • Full product path: sử dụng đường dẫn sản phẩm kiểu tenmien.com/ten-danh-muc-me/ten-danh-muc-con/ten-san-pham.

Tick vào các mục Use primary category và Add canonicals để tăng khả năng tương thích cho plugin. Cuối cùng, click vào nút Save Changes để lưu lại.

4. Xóa cache website (nếu bạn có sử dụng plugin tạo cache) và kiểm tra kết quả. Thật đơn giản phải không nào? Chúc các bạn thành công!

Bạn biết phương pháp khác đơn giản và hiệu quả hơn để loại bỏ chữ product, product-category ra khỏi đường dẫn của WooCommerce? Đừng quên chia sẻ nó với chúng tôi trong khung bình luận bên dưới.

Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất qua email nhé. Cảm ơn rất nhiều. :)

5 / 5 ( 12 bình chọn )
  • Share on Facebook
  • Tweet on Twitter

Bài viết liên quan

Chuyên mục: Thủ thuật WordPress Thẻ: WooCommerce/ WordPress Permalink

dich-vu-cai-dat-website-wordpress-mien-phi

Nói về Trung Hiếu

Một người con của xứ Nghệ, hiện đang sinh sống tại Hà Nội. Theo dõi tôi trên Facebook để cập nhật những tin tức mới nhất liên quan đến WordPress nhé.

Bài viết trước « Easy WP SMTP dính lỗi bảo mật nghiêm trọng, update ngay
Bài viết sau Kiếm tiền với quảng cáo đẩy DatsPush thật đơn giản »

Reader Interactions

Bình luận

    Trả lời Hủy

    Lưu ý:
    > Không sử dụng từ khóa trong mục "Tên".
    > Hãy sử dụng tên thật và địa chỉ email chính xác.
    > Vui lòng bình luận bằng tiếng Việt có dấu.
    Mọi bình luận trái quy định sẽ bị gỡ bỏ link hoặc xóa bỏ hoàn toàn.

  1. Trung Dinh viết

    12/06/2020 lúc 06:08

    thank you

    Trả lời
  2. Nam viết

    08/07/2020 lúc 14:30

    Loại bỏ product-category thực sự có giúp SEO tốt hơn không nhỉ? Mình thấy vẫn top Google bình thường. Theo tài liệu của WooCommerce thì việc này dễ gây ra xung đột đường dẫn.

    Trả lời
    • Trung Hiếu viết

      08/07/2020 lúc 14:40

      Nếu bạn muốn đường dẫn ngắn gọn thì bỏ nhé, còn không thì để thế cũng được. WooCommerce không khuyến khích bỏ.

      Trả lời
« 1 2 3

Sidebar chính

NHẬN BÀI VIẾT QUA EMAIL

Hãy đăng ký ngay để là người đầu tiên nhận được thông báo qua email mỗi khi chúng tôi có bài viết mới!

Đừng quên truy cập vào email của bạn để xác nhận việc đăng ký nhé!

Theo dõi qua mạng xã hội

Dịch vụ WordPress Hosting

dich-vu-wordpress-hosting-gia-re-tot-nhat

Bạn đang tìm gì?

  • WordPress căn bản
  • Bảo mật WordPress
  • Tăng tốc WordPress
  • Sửa lỗi WordPress
  • Thủ thuật Genesis
  • Thủ thuật SEO

Dịch vụ tối ưu WordPress miễn phí

dich-vu-toi-uu-website-wordpress-chat-luong-cao

Bài viết mới nhất

  • Hướng dẫn sử dụng LiteSpeed Memcached 17/01/2021
  • Hướng dẫn nén ảnh bằng plugin LiteSpeed Cache 08/01/2021
  • Hướng dẫn nâng cấp PHP 8 cho website WordPress 15/12/2020
  • Sửa lỗi không hiện hình ảnh và mô tả khi share link lên Zalo 11/11/2020
  • Hiển thị mô tả cho category và tag trong WordPress 05/11/2020
  • Cải tiến công cụ tìm kiếm mặc định của WordPress 31/10/2020

Dịch vụ quét mã độc miễn phí

quet-ma-doc-mien-phi-cho-website

Footer

Bình luận mới nhất

  • Hải trong 5 Lời khuyên giúp tăng Adsense CTR của bạn lên 500%
  • Nhật trong Hướng dẫn nén ảnh bằng plugin LiteSpeed Cache
  • Nồi Phở Sài Gòn trong Khắc phục lỗi email vào spam khi gửi mail từ hosting cPanel
  • Nga Pham trong Bật mí về các công nghệ mà WP Căn bản đang sử dụng

Bình luận nhiều nhất (tháng)

  1. Doligo (7)
  2. Tuyen (7)
  3. Tien Coin (4)
  4. lê hải (3)
  5. Nguyễn Văn Long (3)
  6. Thành (3)

Thông tin hữu ích

  • Quy định sử dụng
  • Chính sách bảo mật
  • Bản quyền nội dung

Thống kê WP Căn bản

10 Chuyên mục - 978 Bài viết - 37217 Bình luận

Bản quyền © 2014 - 2020 · WP Căn bản · Sử dụng Paradise child theme và dịch vụ WordPress Hosting