Hướng dẫn tạo shortcode Polylang thông dụng chèn vào nội dung.

Tạo shortcode hiển thị phần chuyển ngôn ngữ trong Polylang

Thay vì việc hiển thị mặc định của Polylang bạn có thể dùng cách sau để chỉnh việc hiển thị phần lựa chọn ngôn ngữ trong

Tạo shortcode hiển thị phần lựa chọn ngôn ngữ. Đặt đoạn mã sau vào trong functions.php

function custom_polylang_langswitcher() {
    $output = '';
    if ( function_exists( 'pll_the_languages' ) ) {
        $args   = [
            'show_flags' => 0,
            'show_names' => 1,
            'echo'       => 0,
        ];
        $output = '<ul class="polylang_langswitcher">'.pll_the_languages( $args ). '</ul>';
    }
    return $output;
}
add_shortcode( 'polylang_langswitcher', 'custom_polylang_langswitcher' );

Để hiển thì phần chọn ngôn ngữ bạn có thể chạy short code sau vào trong nội dung post/page tại nơi mà bạn muốn hiển thị phần lựa chọn này.

[polylang_langswitcher]

Tạo shortcode chạy polylang hiển thị theo từng ngôn ngữ

Bạn tiến hành khai báo short code mới thông qua hàm add_shortcode và chỉ định hàm thực thi.

function shortcode_polylang($atts, $content = null)
{
    // Kiểm tra xem có giá trị ngôn ngữ được thiết lập hay không
    // Nếu không có ($text_language là rỗng) thì không hiển thị kết quả
    if (!empty($content) || $content !== null){
        ob_start();
        // Chuyển các thuộc tính truyền vào thành dạng biến nếu có trị tương ứng
        // Khai bái biến tương ứng ở đây là language
        extract( shortcode_atts( array('language' =&amp;amp;amp;amp;gt; ''), $atts ) );
        if ($language == "" || empty($language)){
            return "<h3>Bạn chưa chỉ định ngôn ngữ hiển thị</h3>";
        }
        //Xác định ngôn ngữ hiện tại và hiển thị ra nội dung mong muốn
        return ($language == pll_current_language()) ? $content : '';
    }else{
        return '';
    }
  
}
// thêm shortcode polylang
add_shortcode('polylang', 'shortcode_polylang');

Để chạy shortcode cho từng ngôn ngữ bạn dùng đoạn mã sau để chèn vào trong phần nội dung của post/page mà bạn muốn hiển thị

[polylang language="en"]This is English[/polylang][polylang language="vi"]Đây là Tiếng Việt[/polylang]

Nguồn: https://wordpressvn.com/t/huong-dan-tao-shortcode-polylang/2884

Leave a Reply