Giới thiệu đôi nét
Một trong những điểm mạnh của Yahoo! 360 là tạo tính tương tác giữa các blogger thông qua việc add friends, viết testimonial, quick comment,… Ngay khi login vào Yahoo! 360, blogger có thể biết được những thông tin mới nhất ở blog bạn bè mình thông qua mục “Lastest from my friends and favorites”:
Với WordPress, màn hình Dashboard chỉ đưa ra những thông tin liên quan đến blog của bạn: bài viết, comment mới nhất, incoming links cũng như tin tức về WordPress, lấy từ Development blog và Planet WordPress. Trong bài viết này tớ sẽ nêu một cách đơn giản để mô phỏng tính năng Lastest from my friends của Yahoo! 360 trong WordPress, hiển thị các bài viết mới nhất từ các blog bạn quan tâm ở Dashboard. Để đơn giản tớ gọi “các blog bạn quan tâm” là friend list.
Chút lý thuyết
Nguyên tắc thực hiện khá đơn giản: Với từng blog trong friend list, bạn cần lấy nội dung bài viết gần nhất thông qua RSS feed của blog đó. Các bài viết này sẽ được sắp xếp theo thứ tự thời gian và hiển thị ở Dashboard thay cho Development news, giống như thế này:
Những gì tớ đã làm
Có nhiều cách để thực hiện quá trình này, nhưng tớ chọn cách đơn giản nhất, nhanh chóng nhất và đỡ mất công gõ code nhất.
Bước 1 tớ tận dụng Yahoo! Pipes để tổng hợp các RSS feeds trong friend list thành một feed duy nhất thỏa mãn với yêu cầu đã nêu ở trên:
Bước 2 tớ viết một plugin nho nhỏ để thay feed Development news bằng feed vừa tạo:
- <?php
- /*
- Plugin Name: Lastest from my friends
- Plugin URI: http://onetruebrace.com/mo-phong-tinh-nang-lastest-from-my-friends-cua-yahoo-360-trong-wordpress/
- Description: Yahoo! 360 Home simulator
- Author: Quang Anh Do
- Version: 0.1
- Author URI: http://onetruebrace.com
- */
- define(‘FEEDS’, ‘http://onetruebrace.com/feed|http://feeds.feedburner.com/peopix/rss|http://viettut.info/feed|http://feeds.feedburner.com/codinghorror|http://feeds.feedburner.com/Cakebaker|http://feeds.feedburner.com/phamen|http://feeds.feedburner.com/nguoitapviet/Erne’);
- add_filter(‘dashboard_primary_feed’, ‘qad_lfmf’);
- add_filter(‘dashboard_primary_title’, ‘qad_lfmf_title’);
- function qad_lfmf_title($title) {
- return ‘Lastest from my friends’;
- }
- function qad_lfmf($feed) {
- return ‘http://pipes.yahoo.com/pipes/pipe.run?_id=eBH3AZPP3BGdZCyDEpPZnA&_render=rss&feeds=’.urlencode(FEEDS);
- }
- ?>
Những gì bạn cần làm
Bạn hãy save đoạn code trên lại với tên lastest.php, upload vào thư mục /wp-content/plugins/ và truy cập Admin Panel để activate plugin Lastest from my friends.
RSS feed trong friend list bạn cần khai báo tương tự như tớ. Nhớ là các URL này phân cách bằng dấu gạch thẳng (| – thường nằm trên phím Enter).
Mặc định mục Development news (nay là Lastest from my friends) chỉ hiển thị 3 item trong RSS feed. Do đó để muốn xem tất cả các item, bạn cần mở file /wp-admin/index-extra.php, comment dòng thứ 37 như sau:
- //$rss->items = array_slice($rss->items, 0, 3);
Nếu muốn biết bài viết nào là của ai, bạn sửa tiếp dòng thứ 40 của file index-extra.php thành:
- <h4>[<?php echo $item['author'] ?>] <a href=’<?php echo wp_filter_kses($item['link']); ?>’><?php echo wp_specialchars($item['title']); ?></a> — <?php printf(__(’%s ago’), human_time_diff(strtotime($item['pubdate'], time() ) ) ); ?></h4>
- <p><?php echo $item['description']; ?></p>
Còn gì nữa không?
Sửa file nằm trong core của WordPress không phải là điều nên làm, và thường thì khi nâng cấp WordPress bạn sẽ phải thực hiện lại việc này; nhưng tớ thấy không đáng để làm cho source code plugin hiện có dài ra gấp 3 gấp 4 lần để làm những việc chỉ mất vài phút.
http://onetruebrace.com/mo-phong-tinh-nang-lastest-from-my-friends-cua-yahoo-360-trong-wordpress/


