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

Tổng hợp Plugin SEO WordPress tốt nhất dành cho website

WordPress là một trong những mã nguồn mở dùng để thiết kế web tốt nhất hiện nay với mức độ phổ biến khá rộng rãi trong cộng đồng mã nguồn mở và đứng đầu về mảng web. Chính vì vậy mà kho plugin, themes của nó khá đồ sộ cho chúng ta lựa chọn tùy […]

Xem chi tiết →

Cách khai báo gọi plugins OptionTree làm theme option trong wordpress

Như ở bài trước Thịnh có giới thiệu qua về plugins OptionTree giúp tạo theme wordpress nhanh chóng và hiệu quả, nhưng mình không có nói rõ khai báo làm sao để gọi được nó và hiển thị nó thành một theme option cụ thể. Đề bù lại cho các bạn dễ hiểu hơn thì ở […]

Xem chi tiết →

Làm thế nào cài đặt được plugins wordpress cho website

WordPress là mã nguồn mở phổ biến trên toàn cầu với số lượng các lập trình viên tham gia viết plugins và themes cho nó khá là đông đảo. Chính vì vậy số lượng plugins khá phong phú cho các webmaster. Tuy nhiên việc làm quen với mã nguồn mở này đối với người mới […]

Xem chi tiết →