.

Tự tạo Related Post trong WordPress

Có rất nhiều plugin hỗ trợ cho chức năng Bài Viết Liên Quan - Related Post nhưng theo tôi thì nên hạn chế sử dụng plugin vì có thể gây ra chậm website và có thể gây xung đột giữa các plugin với nhau. 

iZdesigner.com - Tự tạo Related Post trong WordPress
Bạn có thể tự viết cho mình chức năng tự tạo danh sách bài viết liên quan trong WordPress bằng những dòng lệnh đơn giản giúp bạn có thể tăng thêm khả năng lập trình và giảm thiểu được rủi ro.
Bạn thêm đoạn code dưới đây vào file fuctions.php . Bạn có thể chọn 1 trong 2 cách sau đây:

1. Danh sách bài viết liên quan theo category

function get_samepost_category() {
 $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,
 'ignore_sticky_posts'=>1,
 'orderby'=>rand);
 $my_query = new wp_query($args);
 endforeach;
 if( $my_query->have_posts() ):
 if( is_single() ):?>
 <div class="sametitle">Bài viết cùng chủ đề</div>
 <div class="same">
 <ol>
 <?php while ($my_query->have_posts()):
 $my_query->the_post();?>
 <li>
 <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
 </li>
 <?php endwhile; ?>
 </ol>
 </div>
 <?php endif; endif; endif; wp_reset_query(); } ?>

2. Danh sách bài viết liên quan theo Tag

<pre>function related_posts_tags () {
if ( is_single ( ) ) {
global $post;
$count = 0;
$postIDs = array( $post->ID );
$related = '';
$tags = wp_get_post_tags( $post->ID );
foreach ( $tags as $tag ) {
$tagID[] = $tag->term_id;
}
$args = array(
'tag__in'               => $tagID,
'post__not_in'          => $postIDs,
'showposts'             => 5,
'ignore_sticky_posts'   => 1,
'tax_query'             => array(
array(
'taxonomy'  => 'post_format',
'field'     => 'slug',
'terms'     => array(
'post-format-link',
'post-format-status',
'post-format-aside',
'post-format-quote'
),
'operator'  => 'NOT IN'
)
)
);
$tag_query = new WP_Query( $args );
if ( $tag_query->have_posts() ) {
while ( $tag_query->have_posts() ) {
$tag_query->the_post();
$related .= '<li><a href="' . get_permalink() . '" rel="bookmark" title="Permanent Link to' . get_the_title() . '">' . get_the_title() . '</a></li>';
$postIDs[] = $post->ID;
$count++;
}
}
if ( $related ) {
printf( '<div><h3>Related Posts</h3><ul>%s</ul></div>', $related );
}
wp_reset_query();
}
}
//Danh cho themes su dung XHTML
add_action( 'genesis_after_post_content', 'child_related_posts' );
//Danh cho themes HTML5
add_action( 'genesis_after_entry_content', 'child_related_posts' )</pre>

Tiếp theo bạn mở file single.php và thêm đoạn code sau vào vị trí hiển thị:

1. Code hiển thị bài viết liên quan theo Category

<!--?php get_samepost_category(); ?-->

2. Code hiển thị bài viết liên quan theo Tag

<?php get_samepost_tag(); ?>

Các bạn có thể vào file style.css để chỉnh sửa .sametilte và .same cho phù hợp với site của bạn.


Tự tạo Related Post trong WordPress Reviewed by Unknown on 05:05 Rating: 5

Không có nhận xét nào:

Phát triển bởi iZdesigner Team

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.