14 Tháng 5, 2017 Tác giả: Thịnh Nguyễn Chuyên mục: WordPress Plugins

Khắc phục lỗi không hiển thị trang sản phẩm khi sử dụng polylang trong woocommerce

Plugin Woocommerce là một plugin khá phổ biến hiện nay và được sử dụng rộng rãi. Nó là giúp chủ của các website tạo một gian hàng khá nhanh và hiệu quả. Tuy nhiên nếu như website đó có 2 ngôn ngữ trở lên mà bạn sử dụng plugins hỗ trợ ngôn ngữ Polylang thì điều bất cập đó là 2 trang song song Woocommerce sẽ chỉ có một trang hiển thị còn trang còn lại của ngôn ngữ còn lại không hiển thị. Điều đó gây lên bất cập khi người truy cập bằng ngôn ngữ còn lại sẽ không thấy sản phẩm để đặt hàng.

Nguyên nhân không phải do Plugin Polylang gây ra mà do chính là từ Woocommerce. Tuy nhiên khi bạn sửa thì sau khi có bản mới mà bạn nâng cấp thì những đoạn code can thiệp sẽ bị xóa sổ và vì thế mỗi lần nâng cấp bạn cần kiểm copy đoạn code can thiệp đó lại.

Để tránh vòng vo thì sau đây mình hướng dẫn cụ thể như sau:

  1. Đầu tiên bạn truy cập vào thư mục Plugin Woocommerce.
  2. Tiếp đến vào thư mục includes
  3. Bạn tìm và mở file: wc-page-functions.php bằng công cụ soạn thảo
  4. Tiếp đến bạn tìm tới dòng 59.

    $page = apply_filters( ‘woocommerce_get_’ . $page . ‘_page_id’, get_option( ‘woocommerce_’ . $page . ‘_page_id’ ) );

  5. Bạn thay nó bằng lệnh sau:

    $page = function_exists(‘pll_get_post’) ? apply_filters( ‘woocommerce_get_’ . $page . ‘_page_id’, pll_get_post ( get_option(‘woocommerce_’ . $page . ‘_page_id’ ) ) ) : apply_filters( ‘woocommerce_get_’ . $page . ‘_page_id’, get_option(‘woocommerce_’ . $page . ‘_page_id’ ) );

  6. Sau khi lưu xong thì phần trang song ngữ nó sẽ hoạt động bình thường như nhau và điều còn lại là bạn làm lại phần hiển thị icon ngôn ngữ.

Lưu ý: khi bạn thực hiện điều này thì nút ngôn ngữ hay widget của Plugin Polylang vô tác dụng. Bởi nó hoạt động khác với nguyên tắc của nó và lúc này bạn cần code lại nút chuyển ngôn ngữ.

Mọi thắc mắc các bạn vui lòng để lại bình luận. Chúc các bạn thành công

Tác giả: Thịnh Nguyễn

Chuyên gia chia sẻ kiến thức về lập trình, thiết kế web và tối ưu hệ thống server.

Chia sẻ bài viết này:

6 bình luận

  • Nguyễn Lưu Vũ

    16/03/2023 lúc 10:14

    cho em hỏi là cách chọn trang chủ giữa 2 ngôn ngữ (vi & en, trong đó vi chọn là ngôn ngữ mặc định)? em chọn trang chủ nhưng nó cứ nhảy lung tung ấy ạ

  • Phong

    02/07/2021 lúc 09:31

    Mình làm vậy cũng không được. Giờ mình mỗi Tag sản phẩm tạo một trang riêng biệt Up lên. Sửa như bạn nói lúc được lúc không, khi cập nhật Plugin Polylang lại không được. Không biết tạo trang riêng có nặng máy hơn không bạn nhỉ ? . Mình cả, thấy nó cũng ok

    • Thịnh Nguyễn

      27/08/2021 lúc 11:25

      hosting chịu dc thì bạn chơi subdomain theo ngôn ngữ cũng được, hơi mất công tí thui

  • Phong

    04/04/2021 lúc 20:59

    Có được không bạn và code lại mấy cái icon kia như thế nào bạn. Website cũng dùng đa ngôn ngữ và chuyển sản phẩm đều không được. Ban xem giúp mình mới
    Webiste của mình là : https://sigvn.com/

    • Thịnh Nguyễn

      24/05/2021 lúc 09:15

      Site của bạn đang sử dụng plugin đa ngôn ngữ, bạn vào cấu hình plugin đó điều chỉnh lại chỉ chọn icon thay vì hiển thị title nhé

  • Black Moon

    20/04/2018 lúc 08:55

    Mình làm như bạn mà khong dc

Để lại bình luận của bạn

Địa chỉ email của bạn sẽ không được công bố rộng rãi. Các trường bắt buộc được đánh dấu *

Bài viết liên quan

Hướng dẫn kích hoạt đầy đủ các tính năng của Yoast SEO

SEO By Yoast hay còn gọi với cái tên mới đã được đổi lại là Yoast SEO, nó là một plugin hỗ trợ về SEO phổ biến nhất hiện nay dành cho mã nguồn mở WordPress. Không chỉ có các tính năng mở rộng mà nó còn tự động cảnh báo gợi ý cho người […]

Xem chi tiết →

Tích hợp login mạng xã hội cho website wordpress bằng plugins

Hiện nay mạng xã hội quá là phổ biến nhưng nếu như website của bạn không tích hợp tính năng login ngay từ mạng xã hội thì độ tương tác website của bạn với khách hàng không cao. Với thói quen của người truy cập rất chi là ngại lập tài khoản mới trên website […]

Xem chi tiết →

Hướng dẫn tạo trang liên hệ với Contact Form 7

Nếu như website của bạn đang sử mã nguồn mở wordpress thì đó là điều tuyệt vời và hơn hết là các trang web hiện nay đều có form liên hệ giúp người truy cập dễ liên hệ với bạn. Ví dụ như có một khách hàng truy cập tới website của bạn trong khi […]

Xem chi tiết →