9/8/16

Hiển thị thẻ TAGS và Giới hạn số TAG ra trang Single

Trước đây tôi đã tìm hiểu về thẻ Tags hiển thị như thế nào lúc mới tập tành đến với Wordpress tôi cũng chưa quan tâm nhiều đên thẻ tag và nó hiển thị như thế nào mặc dù trong đầu đã nghĩ đến sẽ có một ngày làm và tìm hiểu nó hiển thị ra sao. Và hôm nay mới có dịp quay lại nên mình xin dịch lại của một trang nước ngoài và hướng dẫn cho bạn vì mình đã làm và chạy thành công. Và mình sẽ không gây mê các bạn nữa chúng ta bắt đầu nhé:

Đầu tiên bạn mở file functions.php và thêm vào hàm dưới đây:
1add_filter('term_links-post_tag','limit_to_five_tags');
2function limit_to_five_tags($terms) {
3return array_slice($terms,0,5,true);
4}
Bạn có thể thay đổi 5 tag nếu bạn muốn hiển thị nhiều hơn.
Sau đó bạn mở các filer loop.php, single.php, index.php, nơi mà bạn muốn hiển thị thể tag và bạn dán đoạn mã này vào nơi đó:
1<?php the_tags() ?>

Cách 2:

Còn đây là phương thức cũ bạn có thể dùng nó

Bạn cần dán tất cả đoạn code kia vào file mà bạn muốn hiển thị TAG (chèn vào trong vòng lặp của trang single):
01<?php
02$posttags = get_the_tags();
03$count=0; $sep='';
04if ($posttags) {
05    echo 'Tags: ';
06    foreach($posttags as $tag) {
07        $count++;
08        echo $sep '<a href="'.get_tag_link($tag->term_id).'">'.$tag->name.'</a>';
09$sep ', ';
10        if$count > 5 ) break//change the number to adjust the count
11    }
12}
13?>
(Đoạn mã trên sẽ hiển thị 6 tag trong giao diện. Nếu bạn muốn hiển thị ít hơn hoặc nhiều hơn, hãy thay đổi ở đây $count > 5 với số này nếu bạn muốn...)
The code above will display 6 tags in the theme. If you want to show less tags or more tags, simply adjust the $count > 5 line with the number you want. Remember, even though the count number says greater than 5, we see 6 tags. That is because the count is starting at 0. So if you want to show only 4 tags, then the number would need to be 3.
If you want to change the separator, then you need to change line 9. The current code will separate by commas. You can also customize the styling by adding divs, list elements, or anything else that you like.

Tham khảo thêm: Source

File: wp-includes/category-template.php
1311
1312
1313
function has_tag( $tag = '', $post = null ) {
    return has_term( $tag, 'post_tag', $post );
}

Sử dụng hàm bên trên và kết hợp hàm kiểm tra dưới này:




User Contributed Notes


User Contributed Notes

  1. If the article has tags, show them. Else do nothing. It works in the loop.
    1
    2
    3
    4
    5
    if(has_tag()) {
        the_tags();
    } else {
        //Article untagged
    }

  2. If Post has tag, show them. Else if Post has category, show category. Otherwise do other.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(has_tag()) {
          the_tags(); //show tags
    } elseif(has_category()) {
          the_category(); //show category
    } else {
          //do something different
    }
  3. THAM KHẢO THÊM VỀ KIỂM TRA: IS_....  Khác nếu Muốn làm riêng lẻ
  4. https://codex.wordpress.org/Function_Reference/is_tag

  5. Usage


    <?php is_tag$tag ); ?>

    Parameters


    $tag
    (mixed) (optional) Tag ID, name, slug, or array of id's, names, and slugs.
    Default: None

    Return Values

    (boolean) 
    True on success, false on failure.

    Examples

    is_tag();
    // When any Tag archive page is being displayed.
    
    is_tag( '30' );
    // When the archive page for Tag 30 is being displayed.
    
    is_tag( 'extreme' );
    // When the archive page for tag with the Slug of 'extreme' is being displayed.
    
    is_tag( 'mild' );
    // When the archive page for tag with the Name of 'mild' is being displayed.
    
    is_tag( array( 30, 'mild', 'extreme' ) );
    // Returns true when the tag of posts being displayed is either term_ID 30, or slug "extreme", or name "mild". Note: the array ability was added at Version 3.7.
    
    Using if condition:
    if ( is_tag() ) {
        // Display list of tags
    } else {
       // Display list of categories
    }

0 nhận xét: