Trong bài viết này mình có 2 lựa chọn dành cho bạn:

Cách thứ nhất:

Hiển thị bài viết liên quan dựa trên các thẻ tag của bài viết .

<?php
//Lấy danh sách các thẻ tag từ bài viết
$tags = wp_get_post_tags($post->ID);
//Nếu tags tồn tại thì.
if ($tags) {
$tag_ids = array();
//Lấy giá trị id của tag
foreach($tags as $each_tag)
$tag_ids[] = $each_tag->term_id;
//WP_Query arguments.
$args = array(
'tag__in' => $tag_ids, //Một mảng của tag IDs sẽ được đưa vào.
'post__not_in' => array($post->ID), //Một mảng của ID bài viết sẽ được loại trừ.
'orderby'=> 'rand', //Hiển thị bài viết ngẫu nhiên
'showposts' => 10, // Số lượng bài viết mà bạn muốn hiển thị
//'caller_get_posts' => 1 // sử dụng nếu bạn sử dụng wordpress phiên bản  < 3.1 ***
'ignore_sticky_posts' => 1 //*** sử dụng cho phiên bản wordpress >= 3.1 ***
);
$query = new WP_Query($args);
//Nếu có những bài viết liên quan thì
if( $query->have_posts() ) {
echo '<div>';
echo '<h3>Related Article(s):</h3><ol>'; //*** Thay đổi tiêu đề theo ý bạn***
while ($query->have_posts()) {
$query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to: <?php the_title_attribute(); ?>">
<?php the_title(); ?></a></li>
<?php
}
echo '</ol>';
echo '</div>';
}
}
// Hủy chuỗi query trước đó
wp_reset_query();
?>

Cách thứ hai :

Hiển thị bài viết liên quan dựa trên danh mục của bài viết (category).

<?php
if ($categories) {
$category_ids = array();
//retrieve the category_ids for the post.
foreach($categories as $each_category)
$category_ids[] = $each_category->term_id;
//WP_Query arguments.
$args = array(
'tag__in' => $tag_ids, //Một mảng của tag IDs sẽ được đưa vào.
'post__not_in' => array($post->ID), //Một mảng của ID bài viết sẽ được loại trừ.
'orderby'=> 'rand', //Hiển thị bài viết ngẫu nhiên
'showposts' => 10, // Số lượng bài viết mà bạn muốn hiển thị
//'caller_get_posts' => 1 // sử dụng nếu bạn sử dụng wordpress phiên bản  < 3.1 ***
'ignore_sticky_posts' => 1 //*** sử dụng cho phiên bản wordpress >= 3.1 ***
);
$query = new WP_Query($args);
//Nếu có những bài viết liên quan thì
if( $query->have_posts() ) {
echo '<div>';
echo '<h3>Related Article(s):</h3><ol>'; //*** Thay đổi tiêu đề theo ý bạn***
while ($query->have_posts()) {
$query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to: <?php the_title_attribute(); ?>">
<?php the_title(); ?></a></li>
<?php
}
echo '</ol>';
echo '</div>';
}
}
// Hủy chuỗi query trước đó
wp_reset_query();
?>

Sau khi bạn quyết định lựa chọn của mình, thì copy và past code tương ứng vào file single.php. File này nằm trong folder theme mà bạn đang sử dụng. Đoạn code phải được đặt bên dưới hàm the_content() như đoạn code minh họa bên dưới:

<?php get_header(); ?>
<!– part of the single.php code removed for brevity. –>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<div>
<span><?php the_time('d') ?></span><br />
<span><?php the_time('M') ?></span><br />
<span><?php the_time('Y') ?></span>
</div>
<div>
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<div>
<?php the_content('Read the rest of this entry &raquo;'); ?>
<?php /*Phần phân trang nằm ở đây. */ wp_link_pages(array('before' => '<p><span>Pages:</span> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
</div>
<!– Đây là nơi bạn sẽ đặt đoạn code mà bạn muốn hiển thị
<!– Kết thúc đoạn code ở đây  –>

</div>
</div>
<div>
<?php comments_template(); ?>
</div>
<?php endwhile; else: ?>
<p id="rightcolumn">Sorry, no posts matched your criteria.</p>
<?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
?>

Chúc các bạn thành công !

  • Wordpress
  • November 23, 2012
  • 0 comment
  • 452 lượt xem

Recent posts

Người dùng iPhone đang bị phần mềm gián điệp nhắm đến

Người dùng iPhone đang bị phần mềm gián điệp nhắm đến

Apple cảnh báo người dùng iPhone tại 92 quốc gia trước tình hình họ có thể bị tấn công từ […]

Tin tặc Việt bị nghi ‘chủ mưu’ gây chuyện ở châu Á

Tin tặc Việt bị nghi ‘chủ mưu’ gây chuyện ở châu Á

Nhóm tin tặc được cho là có nguồn gốc từ Việt Nam đang nhắm vào các tổ chức tài chính […]

iPhone 12 mừng lớn nhờ bản cập nhật iOS 17.4

iPhone 12 mừng lớn nhờ bản cập nhật iOS 17.4

Khả năng sạc Qi2 trên iPhone 12 đã được nâng cấp bất ngờ sau khi cập nhật lên phiên bản […]

Cảnh báo thủ đoạn hack iCloud mới cực kỳ tinh vi, sử dụng chính công cụ do Apple tạo ra

Cảnh báo thủ đoạn hack iCloud mới cực kỳ tinh vi, sử dụng chính công cụ do Apple tạo ra

Người dùng có thể mất quyền truy cập tài khoản iCloud nếu “sa lưới” vào hình thức lừa đảo mới […]

Ngoại hình iPhone 16 Pro lộ diện, thiết kế tuyệt đẹp

Ngoại hình iPhone 16 Pro lộ diện, thiết kế tuyệt đẹp

Bản vẽ thiết kế được cho là của iPhone 16 Pro cho thấy dòng iPhone thế hệ mới của Apple […]

© 2021 Tạp Chí CNTT. Mr Hoang