Code hiển thị bài viết liên quan WordPress

5/5 - (6 bình chọn)

Như các bạn thường thấy bên dưới chi tiết của một bài viết thường có phần “Bài viết liên quan / Bài viết cùng chuyên mục” bài viết được lấy cùng “chuyên mục” hoặc chính chuyên mục của bài viết đó. Hiện nay có rất nhiều plugin giúp bạn giải quyết vấn đề này nhưng cách nào thì nó cũng không làm bạn hài lòng, bạn muốn tự xử lý. Thì ngay trong bài viết này chúng tôi sẽ hướng dẫn các bạn cách thêm đoạn mã cực kỳ đơn giản mà hiệu quả này để hiển thị các bài viết liên quan.

Ví dụ “Có thể bạn quan tâm”

Để sử dụng bạn copy đoạn code sau vào file functions.php trong thư mục theme bạn đang sử dụng nhé!

1. Lấy bài viết liên quan theo chuyên mục

<?php
/*
 * Code hiển thị bài viết liên quan trong cùng 1 category
 */
$categories = get_the_category(get_the_ID());
if ($categories){
    echo '<div class="baivietlienquan">';
    $category_ids = array();
    foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
    $args=array(
        'category__in' => $category_ids,
        'post__not_in' => array(get_the_ID()),
        'posts_per_page' => 5, // So bai viet dc hien thi
    );
    $my_query = new wp_query($args);
    if( $my_query->have_posts() ):
        echo '<h4>Có thể bạn quan tâm</h4><ul>';
        while ($my_query->have_posts()):$my_query->the_post();
            ?>
            <li><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
            <?php
        endwhile;
        echo '</ul>';
    endif; wp_reset_query();
    echo '</div>';
}
?>

2. Lấy bài viết liên quan theo thẻ (tag)

<?php
/*
 * Code hiển thị bài viết liên quan theo post tag
 */
$tags = wp_get_post_tags(get_the_ID());
if ($tags){
    echo '<div class="baivietlienquan">';
    $tag_ids = array();
    foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
 
    $args=array(
        'tag__in' => $tag_ids,
        'post__not_in' => array(get_the_ID()),
        'posts_per_page' => 3,
    );
    $my_query = new wp_query($args);
    if( $my_query->have_posts() ):
        echo '<h4>Có thể bạn quan tâm</h4><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
        endwhile;
        echo '</ul>';
    endif;
    wp_reset_query();
    echo '</div>';
}
?>

3. Custom Css lại cho 1 trong 2 lựa chọn trên của bạn

.baivietlienquan{
  	padding: 15px;
    text-shadow: 0 1px 0 rgb(255 255 255 / 50%);
    border: 1px solid #BCE8F1;
    border-radius: 4px;
    background-color: #D9EDF7;
}

.baivietlienquan ul{
  margin-bottom: 0;
}

.baivietlienquan li{
  list-style: none;
}

Đây là thành quả nhé!

Baivietlienquan12
Code hiển thị bài viết liên quan WordPress

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