Giới hạn độ dài tiêu đề bài viết trong WordPress

Mặc định trong WordPress khi muốn lấy tiêu đề ra sẽ dùng hàm the_title();. Một số tiêu đề dài khiến cho bố cục trong không được đẹp cho lắm. Vì thế chúng ta cần phải giới hạn ký tự ở mức độ nào đó, khi vượt quá sẽ bị cắt bỏ đi. Trường hợp sử dụng Filter sẽ ảnh hưởng tới tất cả mọi tiêu đề. Nên cần phải sử dụng Custom title là cách tốt nhất.

Rút gọn tiêu đề bài viết WordPress

Cách thứ nhất sử dụng PHP

Bước 1: Mở file functions.php cho đoạn mã này xuống cuối cùng

// Giới hạn ký tự tiêu đề trong WordPress
function new_title() { 
	$n = strlen(get_the_title($post->ID) );
        $title = get_the_title($post->ID);
	if ($n < 50) {
        echo '<h2 class="entry-title">'.$title.'</a></h2>';
	} else {
		$mytitle = substr($title,0,50);
		echo '<h2 class="entry-title">'.$mytitle.'...</a></h2>';
	}
	
}

Giải thích đoạn mã:

  • Đầu tiên dùng hàm strlen để đếm ký tự của biến $n
  • Dùng điều kiện if nếu $n < 50 thì chỉ in ra mình tiêu đề
  • Ngược lại dùng else để thêm dấu 3 chấm tiêu đề vượt quá 50 ký tự
  • $title = substr($title,0,50); Sử dụng hàm cắt chuỗi; 0 là ký tự bắt đầu $char ký tự kết thúc

Bước 2: Tìm file content.php (Danh sách bài viết thông thường hiển thị ở trang chủ – index.php và trang chuyên mục – archive.php. Nhưng khi thường sẽ gọi file ra bằng <?php get_template_part( ‘template-parts/content’ ); ?>)

Ấn CTRL + F tìm the_title thay thế bằng

<?php new_title(); ?>

Cách tiếp theo sử dụng JQuery

Ấn CTRL + Ffooter.php rồi chèn đoạn mã này trước thẻ đóng </body>

<script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
jQuery(".entry-title").each(function() {
if(jQuery(this).text().length > 50){
jQuery(this).text(jQuery(this).text().substr(0,50)+'...');
}
});
</script>

Đoạn tiêu đề thay bằng

<h2><a href="<?php the_permalink();?>"><span class="entry-title"><?php the_title();?></span></a></h2>

Xong bạn lưu file lại. Rồi gõ địa chỉ website lên trình duyệt ẩn danh để xem kết quả.

Ngoài ra bạn cũng tham khảo thêm bài viết hướng dẫn cách tạo read more trong WordPress nữa. Sẽ thu gọn đoạn mô tả ở giới hạn cho phép.

Hãy để lại bình luận:

Mình rất vui khi bạn đã để lại một bình luận. Xin lưu ý rằng tất cả các bình luận đều được kiểm duyệt theo chính sách bảo mật và tất cả các liên kết đều là nofollow. KHÔNG sử dụng từ khóa trong trường tên. Hãy để lại một cuộc trò chuyện cá nhân và ý nghĩa. *