Hiển thị bài viết ngẫu nhiên và xem nhiều nhất không dùng plugins

482
 Hiển thị bài viết ngẫu nhiên và xem nhiều nhất không dùng plugins

 

Đây là bài viết đầu tiên Nutatu cộng tác với Hutruc.com cho nên khó tránh khỏi nhiều chỗ chưa hoàn thiện, mong các bạn góp ý thêm cho mình nhé. Cũng giống như chủ nhân của blog (Huỳnh Trung), mình là một người thích sử dụng code hơn là plugins để mở rộng tính năng cho blog sử dụng WP. Điều này có lẽ một phần xuất phát từ quan niệm “sử dụng càng ít plugin càng cải thiện tốc độ load blog”. Mà tốc độ quan trọng thế nào thì mình không cần phải nói chắc các bạn cũng hiểu, phải không?

Trong bài viết đầu tiên này, mình sẽ hướng dẫn các bạn một thủ thuật nhỏ giúp hiển thị các bài viết một cách ngẫu nhiên và bài được xem nhiều nhất mà không sử dụng plugins.  Hiện tại mình đang áp dụng cho blog của mình. Xin đi vào vấn đề cụ thể.

Để hiển thị bài viết ngẫu nhiên, bạn chỉ cần chèn đoạn code sau vào file sidebar.php hay bất kỳ file loop trong WP nào, nơi mà bạn muốn hiển thị bài ngẫu nhiên :

<h3>Bài ngẫu nhiên</h3>
<div>
<?php
$rand_posts = get_posts(‘numberposts=so_bai_hien_thi&orderby=rand’);
foreach( $rand_posts as $post ) :
?>
<li > <a style=”font-weight:bold;font-size:13;” href=”<?php the_permalink(); ?>”>
<?php the_title(); ?>
</a></li>
<?php endforeach; ?>
</li>
</div>
Còn đây là code hiển thị bài viết được xem nhiều nhất :
<h3>Xem nhiều nhất</h3>
<div>
<?php $popular_number = so_bai_hien_thi; $result = $wpdb->get_results(“SELECT comment_count,ID,post_title,post_content FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , $popular_number”);
foreach ($result as $post) {
setup_postdata($post);
$postid = $post->ID;
$title = $post->post_title;
$content = $post->post_content;
$commentcount = $post->comment_count;
if ($commentcount != 0) { ?>
<li>
<a style=”font-weight:bold;font-size:13;” href=”<?php echo get_permalink($postid); ?>” title=”<?php echo $title ?>”><?php echo $title ?></a></li>
<?php } } ?>
</div>

Bạn nhớ thay “so_bai_hien_thi” bằng số thích hợp để tùy chọn số bài sẽ hiển thị nhé. Để thêm hình ảnh hiển thị đi kèm, bạn tham khảo bài viết [TheSis Tut] Tự lấy ảnh trong bài viết của Hutruc để biết về cách thức lấy ảnh, mình sẽ chỉ hướng dẫn cách chèn code cho các bạn.

Nếu bạn đã làm theo hướng dẫn trong bài viết về cách tự lấy ảnh trong bài viết của Hutruc thì để gọi ảnh thumbnail hiển thị bạn chỉ cần dùng  đoạn code sau:

<?php img(do_rong,do_cao); ?>

Trong đó do_rongdo_cao là giá trị về kích thước mà bạn có thể tùy biến cho ảnh thumbnail. Kết hợp với code trên, để hiển thị ảnh thumb cho bài viết ngẫu nhiên và xem nhiều bạn chỉ cần chèn code sau.

Đối với bài viết ngẫu nhiên

<h3>Bài ngẫu nhiên</h3>
<div>
<?php
$rand_posts = get_posts(‘numberposts=so_bai_hien_thi&orderby=rand’);
foreach( $rand_posts as $post ) :
?>
<li ><div style=”float:left; width: 60px; height: 50px;”><a href=”<?php echo get_permalink($postid); ?>” title=”<?php echo $title ?>”><?php img(50,50); ?></a></div><a style=”font-weight:bold;font-size:13;” href=”<?php the_permalink(); ?>”>
<?php the_title(); ?>
</a></li>
<?php endforeach; ?>
</li>
</div>
Đối với bài xem nhiều nhất
<h3>Xem nhiều nhất</h3>
<div>
<?php $popular_number = so_bai_hien_thi; $result = $wpdb->get_results(“SELECT comment_count,ID,post_title,post_content FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , $popular_number”);
foreach ($result as $post) {
setup_postdata($post);
$postid = $post->ID;
$title = $post->post_title;
$content = $post->post_content;
$commentcount = $post->comment_count;
if ($commentcount != 0) { ?>
<li><div style=”float:left; width: 60px; height: 50px;”><a href=”<?php echo get_permalink($postid); ?>” title=”<?php echo $title ?>”><?php img(50,50); ?></a></div>
<a style=”font-weight:bold;font-size:13;” href=”<?php echo get_permalink($postid); ?>” title=”<?php echo $title ?>”><?php echo $title ?></a></li>
<?php } } ?>
</div>

Đây là hình demo kết quả lấy từ blog của mình.