Hiển thị bài viết liên quan trong Genesis không cần dùng Plugin

Hiển thị bài viết liên quan trong Genesis không cần dùng Plugin

Việc hiển thị bài viết liên quan dưới mỗi bài viết là một trong những cách giúp giảm tỷ lệ thoát của trang Blog/Website. Cũng là cách rất tốt để tăng trải nghiệm người dùng, bởi vì khách truy cập sẽ cảm thấy vô cùng thích thú nếu như họ được xem hàng loạt bài viết có chủ đề liên quan với nhau. Bạn hoàn toàn có thể làm việc này bằng cách sử dụng một số Plugin như: WordPress Related Posts, Yet Another Related Posts Plugin… Tuy nhiên việc hạn chế số lượng Plugin trên một Website WordPress là điều nên làm vì nếu có quá nhiều Plugin được sử dụng tốc độ Website sẽ chậm đi rõ rệt.

mot so code giup tuy bien Genesis

Nếu bạn đang sử dụng Genesis framework bạn có thể dễ dàng hiển thị các bài viết liên quan dưới mỗi bài viết bằng cách thêm đoạn mã php dưới đây vào file functions.php của child theme đang dùng. Nhưng trước khi thử nghiệm bạn phải nhớ backup file functions.php lại nhé!

//* Bài viết liên quan cho Genesis
function related_posts_categories() {
if ( is_single ( ) ) {
global $post;
$count = 0;
$postIDs = array( $post->ID );
$related = '';
$cats = wp_get_post_categories( $post->ID );
$catIDs = array( );{
foreach ( $cats as $cat ) {
$catIDs[] = $cat;
}
$args = array(
'category__in' => $catIDs,
'post__not_in' => $postIDs,
'showposts' => 4,
'ignore_sticky_posts' => 0,
'orderby' => 'rand',
'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'
)
)
);
$cat_query = new WP_Query( $args );
if ( $cat_query->have_posts() ) {
while ( $cat_query->have_posts() ) {
$cat_query->the_post();
$related .= '<li><a href="' . get_permalink() . '" rel="bookmark" title="Permanent Link to' . get_the_title() . '">' . get_the_title() . '</a></li>';
}
}
}
if ( $related ) {
printf( '<div><h3>Cùng chuyên mục:</h3><ul>%s</ul></div>', $related );
}
wp_reset_query();
}
}
add_action( 'genesis_after_entry_content', 'related_posts_categories' );

Lưu ý:  Nếu bạn đang dùng phiên bản Genesis cũ tức là phiên bản sử dụng XHTML thì bạn cần thay đổi dòng code cuối cùng (dòng đầu tiên trong ngoặc kép phía sau dòng add_action):

//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' );

Bạn cũng có thể tùy chỉnh lại “categories” thành “tags” nếu muốn hiển thị bài viết liên quan theo “tag” và thêm css vào theo ý thích!

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

2 thoughts on “Hiển thị bài viết liên quan trong Genesis không cần dùng Plugin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *