Gần đây, chúng tôi được hỏi cách hiển thị số lượng thẻ giới hạn sau mỗi bài đăng trong chủ đề WordPress của bạn. Thông thường, bạn sử dụng hàm the_tags() để hiển thị liên kết đến các thẻ mà bài đăng thuộc về. Tuy nhiên chức năng đó không có tham số để giới hạn số lượng thẻ được hiển thị. Vì vậy, nếu bài đăng của bạn có 12 thẻ và chủ đề của bạn chỉ có khoảng trống cho 5 thẻ thì thiết kế của nó có thể trông không đẹp lắm. Nhiều người chỉ giới hạn việc sử dụng thẻ hoặc thậm chí không đưa nó vào mẫu. Nhưng trong bài viết này, chúng tôi sẽ chỉ cho bạn cách bạn có thể giới hạn số lượng thẻ sau bài đăng trong chủ đề WordPress của mình mà không giới hạn số lượng thẻ bạn thêm vào mỗi bài đăng.
Chỉnh sửa: Có vẻ như sau khi viết bài viết này, Otto (@otto42) tuyệt vời nhất đã trả lời trên tài khoản Google+ của tôi để cho tôi biết rằng có một cách đơn giản hơn để thực hiện việc này.
Trước tiên, bạn cần mở tệp functions.php của chủ đề và thêm chức năng này:
add_filter('term_links-post_tag','limit_to_five_tags');
function limit_to_five_tags($terms) {
return array_slice($terms,0,5,true);
}
Bạn có thể thay đổi số 5 thành số lượng tối đa mà bạn muốn.
Sau đó mở loop.php, single.php, index.php hoặc bất cứ nơi nào bạn muốn thêm các thẻ bài đăng này (phải nằm trong vòng lặp bài đăng), sau đó dán mã sau đây:
<?php the_tags() ?>
Điều này chắc chắn đơn giản hơn rất nhiều so với những gì tôi nghĩ ra mà tôi sẽ để lại trong bài đăng này cho những ai quan tâm.
Tất cả những gì bạn cần làm là dán đoạn mã sau vào tệp chủ đề của bạn (bên trong vòng lặp bài đăng):
<?php
$posttags = get_the_tags();
$count=0; $sep='';
if ($posttags) {
echo 'Tags: ';
foreach($posttags as $tag) {
$count++;
echo $sep . '<a href="'.get_tag_link($tag->term_id).'">'.$tag->name.'</a>';
$sep = ', ';
if( $count > 5 ) break; //change the number to adjust the count
}
}
?>
Đoạn mã trên sẽ hiển thị 6 thẻ trong chủ đề. Nếu bạn muốn hiển thị ít thẻ hơn hoặc nhiều thẻ hơn, chỉ cần điều chỉnh dòng $count > 5 bằng số bạn muốn. Hãy nhớ rằng, mặc dù số đếm lớn hơn 5 nhưng chúng tôi vẫn thấy 6 thẻ. Đó là vì số đếm bắt đầu từ 0. Vì vậy, nếu bạn chỉ muốn hiển thị 4 thẻ thì số đó sẽ phải là 3.
Nếu muốn thay đổi dấu phân cách thì bạn cần thay đổi dòng 9. Mã hiện tại sẽ phân tách bằng dấu phẩy. Bạn cũng có thể tùy chỉnh kiểu dáng bằng cách thêm div, thành phần danh sách hoặc bất kỳ thứ gì khác mà bạn thích.