我不经常在WordPress帖子或页面中使用页面,所以我首先用这个手写标记做了一个测试。我使用了26个用户,有目的地获得最后一个页面,页面上只有不到5个学生。只是想确定一下。
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
<!--nextpage-->
<ul>
<li>F</li>
<li>G</li>
<li>H</li>
<li>I</li>
<li>J</li>
</ul>
<!--nextpage-->
<ul>
<li>K</li>
<li>L</li>
<li>M</li>
<li>N</li>
<li>O</li>
</ul>
<!--nextpage-->
<ul>
<li>P</li>
<li>Q</li>
<li>R</li>
<li>S</li>
<li>T</li>
</ul>
<!--nextpage-->
<ul>
<li>U</li>
<li>V</li>
<li>W</li>
<li>X</li>
<li>Y</li>
</ul>
<!--nextpage-->
<ul>
<li>Z</li>
</ul>
WordPress生成6个页面,页面和帖子编辑器中都有链接。您没有指定正在使用的。
为了用PHP生成此标记,我用此代码创建了虚拟学生列表(A-Z),因为我无法生成您的列表。
// Change this to change the number of students per page.
$students_per_page = 5;
// Set up a dummy user list. (26)
$students = str_split( \'ABCDEFGHIJKLMNOPQRSTUVWXYZ\' );
// Break the whole list in page sized chunks.
$student_chunks = array_chunk( $students, $students_per_page );
// Cycle through each page.
foreach ( $student_chunks as $student_chunk )
$pages[] = wpse_98352_get_student_page( $student_chunk );
// Add page breaks and echo post or page.
echo join( "\\n<!--nextpage-->\\n", $pages );
/**
* This code should be replaced with the actual code for each students
* page.
*
* @param array $students A page worth of students.
* @return string. Text of for this page.
*/
function wpse_98352_get_student_page( $students ) {
$return .= \'<ul>\';
foreach ( $students as $student )
$return .= "<li>$student</li>";
$return .= \'</ul>\';
return $return;
}
我得到了这个:
<ul><li>A</li><li>B</li><li>C</li><li>D</li><li>E</li></ul>
<!--nextpage-->
<ul><li>F</li><li>G</li><li>H</li><li>I</li><li>J</li></ul>
<!--nextpage-->
<ul><li>K</li><li>L</li><li>M</li><li>N</li><li>O</li></ul>
<!--nextpage-->
<ul><li>P</li><li>Q</li><li>R</li><li>S</li><li>T</li></ul>
<!--nextpage-->
<ul><li>U</li><li>V</li><li>W</li><li>X</li><li>Y</li></ul>
<!--nextpage-->
<ul><li>Z</li></ul>
我将其粘贴到页面中进行测试。
然后我调整了$students_per_page
变量至6
, 这让我想到:
<ul><li>A</li><li>B</li><li>C</li><li>D</li><li>E</li><li>F</li></ul>
<!--nextpage-->
<ul><li>G</li><li>H</li><li>I</li><li>J</li><li>K</li><li>L</li></ul>
<!--nextpage-->
<ul><li>M</li><li>N</li><li>O</li><li>P</li><li>Q</li><li>R</li></ul>
<!--nextpage-->
<ul><li>S</li><li>T</li><li>U</li><li>V</li><li>W</li><li>X</li></ul>
<!--nextpage-->
<ul><li>Y</li><li>Z</li></ul>
因此,该算法似乎可以在每页不同的学生身上运行,即使最后一页小于一整页。
NOTE: 您需要更改wpse_98352_get_student_page()
函数生成页面数据。我只是用这个标记使测试成为可能。您还必须将所有这些内容填充到shortcode函数中。