Tự động phân trang bài viết wordpress khi quá dài


Mình sẽ hướng dẫn các bạn cách làm.
phương thức làm việc như sau: đầu tiên là đếm ký tự bài viết. nếu bài viết vượt số ký tự ta quy định sẽ tự động thêm <!–nextpage–>.
đầu tiên bạn mở wp-includes/query.php tìm:

PHP:
$pages = array( $post->post_content );
$multipage = 0;

 

thay đoạn đó thành:

PHP:
   
$max_lex = 5000; // Tổng ký tự 1 trang
$string = $content;
$strrpos = mb_strrpos($content," ");
$current = 0;
$pagesPost = ceil($strrpos/$max_lex);
$pagePost = 1;
if ($strrpos > $max_lex) {
$content = '';
while ($current < $strrpos) {
$stringtt = mb_substr($string, $current, $max_lex);
$numStr = mb_strrpos($stringtt," ");
if($pagePost<$pagesPost)  $content .=  $stringtt."<!--nextpage-->";  else $content .= $stringtt;
$current = $numStr + $current;
$pagePost++;
}
} else {
$content = $string;
}
if ( $page > 1 ) $more = 1;
$multipage = 1;
$content = str_replace("\n<!--nextpage-->\n", '<!--nextpage-->', $content);
$content = str_replace("\n<!--nextpage-->", '<!--nextpage-->', $content);
$content = str_replace("<!--nextpage-->\n", '<!--nextpage-->', $content);
$pages = explode('<!--nextpage-->', $content);
$numpages = count($pages);
/* code by dinh quoc han & solitary */

 

Hoặc coppy toàn bộ tệp query tại đây:  https://github.com/dinhquochan/wordpress/blob/master/jquery.php

Nếu bạn nào đã làm theo hướng dẫn không được thì dùng plugin WP-PageNavi hoặc chèn đoạn code này vào chỗ muốn hiện:

<?php wp_links_pages();?>

 

 


Liên hệ Admin tại đây hoặc qua email info@huyct.net


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 *

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.