Mặc định, Ở trang chủ của TheSis theme sẽ hiển thị “← Previous Entries” và “Next Entries →” để điều hướng bài viết. Tất nhiên, như vậy sẽ không tiện cho người đọc. Bằng cách phân trang người đọc sẽ nhanh chóng di chuyển đến một trang bất kỳ. Trong bài này, Hư Trúc sẽ hướng dẫn cách bạn thực hiện điều này.

Thủ thuât này Hư Trúc dựa theo hướng dẫn của Ashwin và đã thêm vào code phân trang (không dùng plugin nữa).

Các bước thực hiện

1.Thêm code vào custom_functions.php

Thêm đoạn code sau vào bên dưới file custom_functions.php. Bạn vào TheSIS Options -> Custom File Editor. Chọn file custom_functions.php trong hộp và nhấn Edit selected file. (Nên lưu dự phòng trước khi chỉnh sửa)

/***** pagenavi http://hutruc.com *****/
function page_navi($before = '', $after = '') {
	global $wpdb, $wp_query;
	$request = $wp_query->request;
	$posts_per_page = intval(get_query_var('posts_per_page'));
	$paged = intval(get_query_var('paged'));
	$numposts = $wp_query->found_posts;
	$max_page = $wp_query->max_num_pages;

	if(empty($paged) || $paged == 0) {
		$paged = 1;
	}
	$pages_to_show = 5;
	$pages_to_show_minus_1 = $pages_to_show-1;
	$half_page_start = floor($pages_to_show_minus_1/2);
	$half_page_end = ceil($pages_to_show_minus_1/2);
	$start_page = $paged - $half_page_start;
	if($start_page <= 0) {
		$start_page = 1;
	}
	$end_page = $paged + $half_page_end;
	if(($end_page - $start_page) != $pages_to_show_minus_1) {
		$end_page = $start_page + $pages_to_show_minus_1;
	}
	if($end_page > $max_page) {
		$start_page = $max_page - $pages_to_show_minus_1;
		$end_page = $max_page;
	}
	if($start_page <= 0) {
		$start_page = 1;
	}

	echo $before.'<div class="page_navi">'."\n";
	if ($start_page >= 2 && $pages_to_show < $max_page) {
		$first_page_text = "First";
		echo '<a href="'.get_pagenum_link().'" title="'.$first_page_text.'">'.$first_page_text.'</a>';
	}
	previous_posts_link('&laquo;');
	for($i = $start_page; $i  <= $end_page; $i++) {
		if($i == $paged) {
			echo '<span class="current">'.$i.'</span>';
		} else {
			echo '<a href="'.get_pagenum_link($i).'">'.$i.'</a>';
		}
	}
	next_posts_link('&raquo;');
	if ($end_page < $max_page) {
		$last_page_text = "Last";
		echo '<a href="'.get_pagenum_link($max_page).'" title="'.$last_page_text.'">'.$last_page_text.'</a>';
	}
	echo '</div>'.$after."\n";
}
function my_thesis_pagination() {
  echo "<div class='prev_next'>";
  page_navi();
  echo "</div>";
}
remove_action('thesis_hook_after_content','thesis_post_navigation');
add_action('thesis_hook_after_content', 'my_thesis_pagination');
/***** end pagenavi http://hutruc.com *****/

2.Thêm CSS vào custom.css

Thêm đoạn code sau vào bên dưới file custom.css. Bạn vào TheSIS Options -> Custom File Editor. Chọn file custom.css trong hộp và nhấn Edit selected file. (Nên lưu dự phòng trước khi chỉnh sửa)

/***** pagenavi http://hutruc.com *****/
.custom .full_width #content_box .page_navi .page {
  margin: 2px;
  padding: 2px 4px;
}
.page_navi {
	text-align:center;
	clear:both;
	padding-top:10px;
}
.page_navi .current{
	padding:2px 5px;
	margin:3px;
	border:1px solid #ccc;
	background:#E0E0E0;
}
.page_navi a{
	padding:2px 5px;
	margin:3px;
	border:1px solid #ccc;
}
/***** end pagenavi http://hutruc.com *****/

Hư Trúc cũng mới làm quen với TheSiS thôi nên cách làm này có thể chưa tối ưu. Bạn còn cách nào hay hơn, hãy chia sẻ với mọi người nhé. Chúc bạn thành công.