Posted on March 28th, 2009 in WP Tutorial | 26,667 views

Trước tiên hãy chọn một bộ smilies mà bạn thích để thay thế cho smilies cũ của WordPress. Bạn đừng lo sẽ không kiếm được smilies bởi trên Internet hiện nay có rất nhiều site cung cấp smilies miễn phí, dưới đây là một số link mà tôi biết:
- http://messenger.yahoo.com/features/emoticons/
- http://www.adiumxtras.com/index.php?a=cats&cat_id=2&sort=ranking
- http://ddth.com/misc.php?do=showsmilies (search Google cái ra luôn :D )
- http://www.ikiru.ch/blog/2006/more-smilies-addon-a-tribute-to-julien
- http://www.smileyarena.com/
- http://www.msnemoticons.org/
- http://www.jms101.btinternet.co.uk/
sau đó upload các smilies vào thư mục

  • /wp-includes/images/smilies (nếu là WordPress 2.x)
  • /wp-images/smilies (nếu là WordPress 1.x)

Kế đến ta sẽ định nghĩa lại biến $wpsmiliestrans để tạo ra bảng ánh xạ mới cho các smilies vừa upload trước khi hàm smilies_init() chạy. Để làm được việc này, ta phải nhờ đến một file đặc biệt trong WordPress, file này phải được load trước tất cả các file khác, đó chính là file wp-config.php.

wp-config.php là file chứa thông tin về database mà WordPress đang chạy, nó khá quan trọng vì thế bạn nên backup nó trước khi "đụng" vào nhé! O:-)
Lưu ý: file này vẫn được giữ nguyên mỗi khi bạn nâng cấp WordPress

Bạn chèn thêm biến $wpsmiliestrans vào file wp-config.php ở vị trí như hình dưới đây:
wpsmiliestrans

Như bạn thấy, $wpsmiliestrans là một mảng 2 chiều, bên trái chứa ký tự đặc biệt, bên phải chứa tên file icon. Công việc còn lại của bạn là định nghĩa thêm các smilies khác nữa là xong, rất đơn giản phải không nào? Thế thì bạn còn chần chừ gì nữa, hãy làm mới lại hệ thống smilies cho blog của mình ngay từ bây giờ để tha hồ biểu lộ cảm xúc, blog của bạn sẽ sinh động hẳn lên đấy. >:d<

======> Bổ sung <======
Tôi có soạn sẵn một file rar chứa 2 bộ smilies của Yahoo! Messenger với MSN (có kèm theo file text chứa biến $wpsmiliestrans) tại đây. Bạn chỉ việc lấy về rồi upload icon lên với paste file text vào file wp-config.php là xong.

Pages: 1 2 3

Sign up for News and Updates!
digg delicious stumbleupon technorati Google live facebook Sphinn Mixx newsvine reddit yahoomyweb

24 Responses to “Customize WordPress Smilies without using Plugin”

  1. Bài khá lý thú, tuy nhiên nếu bác trình bày thêm cách để xuất hiện một list emotion trên phần new post và cả trên comment tương tự thế này nữa thì tuyệt :wink:

  2. Bổ sung: hình như nếu bác dùng emotion yahoo nhưng cái kiểu gõ như trong YM là không được, một số sẽ bị lỗi do sử dụng các ký tự mà wordpress có thể bỏ qua, bác có thể thống kê được các ký tự đó không. Thanks

  3. Tặng thêm cho mọi người một site cung cấp Emotitions nữa nè: http://emo.huhiho.com/
    Trang này có nhiều bộ Emo đẹp và hot do Redphoenix89 sưu tầm.

  4. Bài viết rất hay :) . Giúp tớ hiểu thêm khá rõ về mấy hàm "core" của WP.

    Có điều, tớ thấy phương pháp thao tác trực tiếp với các file gốc của WP ko phải là ý tưởng tốt lắm. Nếu có thể, chúng ta tách nó ra thành 1 plugin hoặc 1 function trong theme chẳng hạn. Liệu có thể khai báo trực tiếp trong file functions.php của theme dạng này được ko (tớ chưa thử, mới chỉ là ý nghĩ vậy :D )

    global $wpsmiliestrans;
    $wpsmiliestrans = array("abc" => "xyz", ...);

  5. Test thử tất cả các smilies của YM xem nào

    :D :) :-) ) =)) :"> =D> :-" =p~ \:D/ O:-) ;;)

    ;) ) 8-> :-P :-> :-? :-? ? >:d< :-ss :-b :-( ( x(

  6. Hay lắm, em đang test thử, cám ơn bác.

  7. =))

  8. Bác viết nhầm rồi bác ơi, phải dán mấy cái text kia trong file wp-includes/fuctions.php chứ hok phải là wp-config.php. Em đang dùng wp 2.7.1

  9. Cách này của bác lên 2.8 bị lỗi /wp-includes/formatting.php nhé

  10. Bác Hiếu up lại file đính kèm giùm cái, bác upgrade wp nó xóa rồi sao ấy ?

  11. Hư hình rồi anh ơi, up lại đi ạ ^^!

  12. mất tiêu cái hình rồi. admin up lại giùm nha!!! :smile:

  13. làm sao để hiện cái bbcode in đậm, in nghiêng, smilies.... chỗ phần comment vậy

Leave a Reply

Comment moderation is currently enabled so comments with spammy words or a few links might be delayed. Please do not submit your comments twice, they will be approved soon.
Off Auto TELEX VNI VIQR VIQR*