Bạn đọc của Hư Trúc Blog đặt câu hỏi làm thế nào để rút gọn tiêu đề bài viết. Để giải quyết vấn đề này, có nhiều cách, có thể sử dụng custom field để viết lại title. Theo ý của bạn đọc, HT sẽ hướng dẫn một đoạn code để thực hiện việc này.
Đầu tiên bạn thêm hàm rút gọn tiêu đề vào file functions.php của theme.
/***** Title Limit http://hutruc.com *****/
function htr_title_limit($max_char, $more_link_text = '( ...)') {
$title = get_the_title();
$title = strip_tags($title);
if (strlen($_GET['p']) > 0) {
echo $title;
echo " ...";
}
else if ((strlen($title)>$max_char) && ($espacio = strpos($title, " ", $max_char ))) {
$title = substr($title, 0, $espacio);
$title = $title;
echo $title;
echo " ...";
echo "$more_link_text";
}
else {
echo $title;
}
}
/***** End Title Limit http://hutruc.com *****/
Cách sử dụng: htr_title_limit(40, “”)
Trong đó:
40: Số ký tự của tiêu đề sau khi rút gọn
"": Đoạn này sẽ thêm vào sau tiêu đề rút gọn. Mặc định là ...
Bây giờ bạn chỉ việc thay thế hàm này vào chổ hiển thị tiêu đề của theme bạn đang sử dụng là ok.
Chúc bạn thành công. Mọi thắc mắc vui lòng comment tại đây.
Bổ sung demo cho các bạn: http://hutruc.com/demo/

{ 2 trackbacks }
{ 31 comments… read them below or add one }
Thanks you Hư Trúc, công nhận bác tận tâm giúp đỡ newbie chúng em
P/s: Bạn vui lòng viết chữ bình thường nhé. Hạn chế dùng CapsLock. Cảm giác giống như bạn đang bực mình và to tiếng vậy
Anh cho hỏi thêm, có phải thay tất cả địa chỉ http://hutruc.com/tag/title trong code thành địa chỉ trang của em không? VD: hxxp://seotip.biz/tag/title ?
Không phải vậy, cái đó là tag tự sinh ra tư HT, hôm trước fix rồi, hôm nay lại bị. Bạn có thể copy đoạn code chính xác trên trang backup của HT đó.
Thanks anh nhiều ….
newbie như chúng em cần phải học hỏi anh nhiều
Mình cũng chỉ biết chia sẽ những gì mình biết thôi
Hy vọng những bài viết trên Hư Trúc Blog giúp ích được cho bạn.
Em xài theme của Revoluition, việc chèn vào funtion bị lỗi bác ạ. Bác làm luôn plugin đi sẽ không có lỗi.
Cái này có gì đâu phải làm thành plugin nhỉ
Bạn send file functions qua HT thêm vào cho
OH, Em copy thiếu nên lỗi. Tuy nhiên chưa thấy rút gọn link mà chỉ thêm dấu … vào cuối link thôi. bác xem lại coi
thanks
Thay giá trị 40 thành 1 hoặc 2 thử xem
Cũng vậy à bác, bác xem lại hử
HT da test truoc khi viet bai roi. Ban gui theme dang dung sang day HT test thu xem.
Cảm ơn HT về cái TUT này nhé , nhưng liệu khi rút gọn title có ảnh hưởng gì đến việc SEO của mình ko ta .
Ban nen su dung no de rut gon o nhung phan khong quan trong nhu bai viet lien quan, bai viet trong chuyen muc, v.v… Thi cung khong anh huong nhieu den seo.
Mời các bạn đón theo dõi tiết mục mới của hutruc…
Cậu xài plugin j mà trong sidebar có cái mục giới thiệu tiết mục sắp phát sóng thế :-/
Cái này mình sử dụng code thôi chứ không dùng plugin. Bạn đón theo dõi sẽ có bài hướng dẫn cụ thể. Đã lên lịch rồi đấy :d.
Cái này mình không khuyến khích, trông không được đẹp và về mặt SEO thì cũn sẽ ảnh hưởng. Trong SEO sẽ sắp sếp thứ tự ưu tiên trên title nên muốn rút gọn thì trước hết tác giả phải nắm rõ nguyên tắc SEO cho title, nếu rút ngắn mất keyword chính thì coi như mất tác dụng SEO và như thế rút ngắn sẽ phản tác dụng. Dùng cho related thì ok. Đó là ý kiến chủ quan của mình thôi, các bạn tự quyết định nhé

Tinh´s last blog ..Yahoo: Công Cụ Tìm Kiếm Mặc Định Của Firefox Trên Ubuntu
Mình cũng không dùng nó, chỉ viết ra phục vụ các bạn thôi. Nếu seo thì phải áp dụng bài này: http://hutruc.com/wordpress/tips-trick/viet-lai-tieu-de-bai-viet-su-dung-custom-field.html
Hư trúc thử plugin này xem, hxxp://www.studiograsshopper.ch/plugin-lab/limit-title-plugin/
Plugin này cũng rút gọn link tiêu đề, nhưng mỗi tội tiếng việt thì có lỗi dấu ở từ cuối. Hư trúc xem có cách nào khắc phục không ?
Cái plugin này thì cũng chỉ là viết cái hàm thực hiện công việc như trên thôi. Vậy tại sao không áp dụng theo cách trên cho tiện, không bị lỗi TV, đỡ phải dùng plugin
Mã của huỳnh trung hình như đụng hàng với mã content_limit trong funtion của theme. Khi hai mã này xuất hiện thì title_limit không có hiệu quả.
Bạn test trên theme nào, có thể send qua HT test thử không, code đúng là phát triển từ code của content limit nhưng chẳng liên quan đến nó mà :( Đã test trên một số theme.
hxxp://www.techpeller.com/saturn/download/revlifestyle.zip Hutruc tải thử theme này xem.
Huỳnh trung đã khắc phục lỗi chưa ?
HT đã test và nó hoạt động bình thường mà. Đâu có gì để fix.
Vẫn bị lỗi dấu, mời huỳnh trung ghé qua trang mình, vào thừ một bàu viết, rồi xem cột hạnh phúc gia đình bên phải.
Năm mới chúc huỳnh trung nhiều sức khoẻ, phát tài, ước gì được nấy.
Thanks bạn, chúc bạn và gia đình năm mới sức khoẻ dồi dào, gia đình yên ấm, hạnh phúc
Đoạn code trên nếu để ở text tiếng Anh (không dấu) sẽ rất đẹp nhưng để ở tiếng Việt thì sẽ gặp vấn đề ngay
HT thử thay đổi giải thuật theo mình thì sẽ giải quyết được vấn đề tiếng Việt:
1. Tách chuỗi theo dấu khoảng trắng đưa vào mảng.
2. Đếm số phần tử của mảng
3. Lấy số phần tử mảng từ đầu đến vị trí max.
4. Trả lại đoạn đã được cắt ngắn
Cái này mình viết lâu rồi và chạy khá ổn, sử dụng cho phần lấy RSS của forum bên Blog mình, xin phép để HT nghiên cứu thêm (đây là niềm vui chính của anh em coder) trước khi post function này lên

NhanWeb´s last blog ..AJAX thần chưởng: tầng 1 – tải dữ liệu từ một trang khác
HT đã test và hoàn toàn chưa gặp lỗi gì với tiếng Việt cả, không biết các bạn gặp lỗi thế nào nhỉ, cho HT xin cái ảnh hay link xem thử.
Cảm ơn bạn đã góp ý. Ý tưởng của bạn HT nghĩ là cũng là một ý tưởng hay đấy. Đúng là dân code có khác. HT chỉ là dân ngoại đạo thôi
@Suckhoegiadinh.org: Đã test, vẫn hoạt động bình thường. Demo: http://hutruc.com/demo/ (Phần chuyên mục bên trái, so sánh với chuyên mục bên phải)
À, ý HT nói là code của HT kìa, không phải nói plugin, code của HT vẫn bình thường đối với theme của bạn đưa ra, đã test thử rồi.