Trong bài viết trước mình có chia sẻ cách hiển thị bài viết liên quan trên wordpress bài plugin rất đơn giản ai cũng có thể làm được. Tuy nhiên để tối ưu tốc độ chúng ta nên tự viết code để hiển thị bài viết liên quan cho wordpress, nếu các bạn không có nhiều kiến thức lập trình PHP có thể dùng code bài viết liên quan WordPress theo Tags hoặc theo Category dưới đây nhé.
Code bài viết liên quan WordPress theo Tags
Để hiện thị bài viết liên quan theo Tags cho wordpress các bạn hãy copy đoạn code hiển thị bài viết liên quan WordPress theo Tags dưới đây vào file single.php của theme.
<div id=“relatedposttags”>
<?php
$tags = wp_get_post_tags($post–>ID);
if ($tags)
{
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag–>term_id;
// lấy danh sách các tag liên quan
$args=array(
‘tag__in’ => $tag_ids,
‘post__not_in’ => array($post–>ID), // Loại trừ bài viết hiện tại
‘showposts’=>5, // Số bài viết bạn muốn hiển thị.
‘caller_get_posts’=>1
);
$my_query = new wp_query($args);
if( $my_query–>have_posts() )
{
echo ‘<h3>Bài viết liên quan</h3><ul>’;
while ($my_query–>have_posts())
{
$my_query–>the_post();
?>
<li><a href=“<?php the_permalink() ?>“ title=“<?php the_title(); ?>“><?php the_title(); ?></a></li>
<?php
}
echo ‘</ul>’;
}
}
?>
</div>
Code bài viết liên quan wordpress theo category
Các bạn copy code hiển thị bài viết liên quan wordpress theo category dưới đây và paste và file single.php của theme
<?php
$categories = get_the_category($post–>ID);
if ($categories)
{
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category–>term_id;
$args=array(
‘category__in’ => $category_ids,
‘post__not_in’ => array($post–>ID),
‘showposts’=>5, // Số bài viết bạn muốn hiển thị.
‘caller_get_posts’=>1
);
$my_query = new wp_query($args);
if( $my_query–>have_posts() )
{
echo ‘<h3>Bài viết liên quan</h3><ul class=”list-news”>’;
while ($my_query–>have_posts())
{
$my_query–>the_post();
?>
<li>
<div class=“item-list”>
<h4><a href=“<?php the_permalink() ?>“ title=“<?php the_title_attribute(); ?>“><?php the_title(); ?></a></h4>
<?php the_excerpt(); ?>
</div>
</li>
<?php
}
echo ‘</ul>’;
}
}
?>
Ở đây mình không có viết css, các bạn có thể tự viết thêm Css để làm đẹp cho bài viết liên quan theo ý của mình nhé.
Chúc các bạn thành công!