Hiển thị bài viết liên quan, cùng chuyên mục trong wordpress

Hôm nay mình xin được chia sẻ code hiển thị bài viết liên quan (Theo tags) và bài viết cùng chuyên mục (Trong categorys) không cần dùng đến plugin. Rất tốt cho ai muốn làm theme và không muốn dùng quá nhiều plugin.

Đầu tiên chúng ta cần xác định các bài post liên quan chỉ hiển thị ở trang chi tiết bài post hay nói cách khác đó là file single.php của chúng ta. Do chỉ hiển thị ở 1 trang duy nhất nên ta code trên đây lun khỏi viết hàm cho khổ. hì…

Mình sẽ giới thiệu với các bạn hai cách hiển thị các bài viết liên quan trong wordpress đó là hiển thị theo từ khóa (tags) và hiển thị theo thể loại (categories).

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

Khá đơn giản bạn hãy gián đoạn code sau vào file single.php trong thư mục gốc theme vào nơi mà bạn muốn nó hiển thị.

<?php
/*
 * Code hiển thị bài viết liên quan theo post tag
 * Code by hihiweb.com
 */
$tags = wp_get_post_tags(get_the_ID());
if ($tags){
    echo '<div id="relatedpost">';
    $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 '<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>';
}
?>

Cách này sẽ cho phép hiển thị các bài có cung tag, bạn có thể thay đổi số lượng bài hiển thị tại nơi mình chú thích.

Hiển thị các bài trong cùng một categorys

Và đây là code hiển thị các bài trong cùng một categorys. Các bạn cũng làm như trên nha.

<?php
/*
 * Code hiển thị bài viết liên quan trong cùng 1 category
 * Code by hihiweb.com
 */
$categories = get_the_category(get_the_ID());
if ($categories){
    echo '<div class="relatedcat">';
    $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 '<h3>Các tin khác</h3><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>';
}
?>

Bây giờ các bạn thêm css vào cho nó đẹp thôi. Cái này các bạn tự thêm nha. Mỗi người một mẫu thẩm mỹ mà. Hihi 🙂

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

Leave a Reply

Your email address will not be published. Required fields are marked *

arrow