Gini IT-Chia sẻ kiến thức IT

Hướng dẫn làm website đa ngôn ngữ với Polylang

554 lượt xem 08 Th7, 2019
0

Wordpress

13 bài viết

Plugin Polylang là plugin hỗ trợ cho việc thiết lập một website đa ngôn ngữ WordPress. Việc cài đặt và sử dụng plugin này cũng khá đơn giản. Bạn có thể tham khảo bài viết sau để biết thêm một số thông tin về plugin

Hướng dẫn cài đặt Plugin Polylang

Plugin -> Cài mới

Ở mục tìm kiếm các bạn search: Polylang

Cài đặt -> Kích hoạt

Cài đặt ngôn ngữ Polylang

Languages -> Languages

Tips: Choose a language các bạn chọn ngôn ngữ muốn tạo, từ đâu còn lại các bạn để mặc định rồi ấn Add new language.

Mình đã tạo 2 ngôn ngữ tiếng Anh và tiếng Việt

Dấu * (sao) ở kia biểu thị ngôn ngữ mặc định, mình muốn để ngôn ngữ mặc định của bài viết hoặc chuyên mục là tiếng Việt nên sẽ ấn vào đó.

Sau đó ở ngay bên trên notice, các bạn sẽ thấy:

Ý nó muốn hỏi bạn có muốn setup các bài viết hoặc chuyên mục trước đó về ngôn ngữ mặc định không (Ở trên mình để ngôn ngữ mặc định là tiếng Việt). Nhớ ấn You can set them all to the default language.

Cài Polylang cho Woocommerce

Languages->Settings

Custom post types and Taxonomies các bạn tích vào các ô rồi ấn Save Changes. Ngoài Woocommerce ra nếu có post-type khác cũng đều áp dụng cách này.

Nguyên tắc soạn thảo đa ngôn ngữ với Polylang

Nếu là bài viết, hãy đi từ chuyên mục trước rồi mới đến bài viết. Nếu là sản phẩm hãy đi từ danh mục trước rồi mới đến sản phẩm. Tại sao lại vậy? Vì khi các bạn setup chuyên mục (danh mục) ở các ngôn ngữ khác nhau rồi thì khi setup ngôn ngữ bài viết (sản phẩm) thì các bài post đó sẽ được tự động tích vào các chuyên mục (danh mục) tương ứng ở ngôn ngữ đó.

Setup Chuyên mục (Danh mục)

Khi có một chuyên mục là tin tức, các bạn hãy click vào dấu + để tạo chuyên mục đó ở ngôn ngữ tiếng Anh.

Điền tiêu đề tin tức ở tiếng Anh là News

Sau khi các bạn ấn Thêm chuyên mục sẽ mất dấu + . Thay vào đó là biểu tượng bút chì và chữ V.

Setup Bài viết (Sản phẩm)

Tương tự ta có bài viết Chào tất cả mọi người ở ngôn ngữ tiếng Việt, để setup bài viết đso ngôn ngữ tiếng Anh thì ấn vào dấu +. Ở đây các bạn điền tiêu đề và nội dung bài viết Chào tất cả mọi người bằng tiếng Anh rồi sau đó ấn Đăng là được.

Khi làm tới bước này, các bạn sẽ hiểu tại sao mình bảo làm chuyên mục hoặc danh mục trước.

LƯU Ý: Chỉ được phép tạo bài viết bằng ngôn ngữ tiếng Việt, rồi từ bài viết tiếng Việt đó ấn dấu + để tạo bài viết Tiếng Anh. Đừng chủ động tạo bài viết tiếng Anh bằng Viết bài mới vì như vậy sẽ ảnh hưởng khi các bạn chuyển ngôn ngữ.

Menu trong Polylang

Tương tự như bài viết hay sản phẩm, chúng ta đều phải setup Menu ở các ngôn ngữ khác nhau.

Khi các bạn cài Polylang, các hiển thị vị trí của menu sẽ nhân đôi các hiển thị vị trí.

Lúc nào các bạn chỉ việc tạo thêm Menu và tích vào đúng chỗ các bạn muốn hiển thị là được. Các bạn có thể xem video để hiểu rõ hơn.

Dành cho DEV

Để tùy biến hoặc bạn muốn hiển thị ngôn ngữ ở bất kỳ vị trí nào trong theme, bạn có thể sử dụng đoạn code sau và đặt vào bất kỳ vị trí nào bạn muốn.

pll_the_languages($args);

T rong đó, $args là một mảng tham số như sau (nếu không thiết lập nó sẽ áp dụng giá trị mặc định) .

  • 'dropdown' => Giá trị này dùng để hiển thị dạng đổ xuống, thiết lập giá trị là 1 nó sẽ thành dạng đổ xuống (default: 0)
  • 'show_names' => Giúp hiển thị tên ngôn ngữ, giá trị là 1 nó sẽ hiển thị tên ngôn ngữ (default: 1)
  • display_names_as' => Hiển thị tên ngôn ngữ theo “name” hoặc “slug” (default: ‘name’)
  • 'show_flags' => Hiển thị lá cờ nếu giá trị là 1 (default: 0)
  • 'hide_if_empty' => Thực hiện các chức năng Ẩn các ngôn ngữ nếu ngôn ngữ dó chưa có post hoặc page tương ứng, giá trị 1 là ẩn (default: 1)
  • 'force_home' => Sử dụng đường dẫn trang chủ nếu giá trị là 1, nếu giá trị là 0 thì nó sẽ chuyển trang hiện tại sang ngôn ngữ đã chọn (default: 0)
  • 'echo' => echoes if set to 1, returns a string if set to 0 (default: 1)
  • 'hide_if_no_translation' => Ẩn ngôn ngữ nếu ngôn ngữ đó chưa có giá trị nào được dịch (default: 0)
  • 'hide_current'=> Ẩn ngôn ngữ hiện tại đang chọn nếu giá trị là 1 (default: 0)
  • 'post_id' => Nếu giá trị này thiết lập thì phần ngôn ngữ đó sẽ trỏ tới một post hoặc page chỉ định qua ID (default: null)
  • 'raw' => Bạn muốn tùy biến tự viết lại CSS cho phần này thì thiết lập giá trị là 1 (default:0)

Ví dụ:

<?php pll_the_languages( array( 'show_flags' => 0,'dropdown' =>1 ));  ?>
Kết quả

Leave a Reply

avatar
  Theo dõi  
Thông báo của