我正在尝试构建一个函数来显示当前章节(页面)。仅当有多个章节(分页符)时才使用php文件。
此函数将在标题下的页眉中输出章节#。然后,我将自定义并使用底部的wp\\u link\\u页面进行章节分页。
目前,我的函数不工作,它不返回任何内容,如果我删除if语句if($multipage){},它将返回“Chapter 0”。
我需要这方面的建议。
/**
* Get current chapter number
*/
if ( ! function_exists( \'sbwp_get_current_chapter\' ) ) {
function sbwp_get_current_chapter() {
global $page, $numpages, $multipage, $more;
if ( $multipage ) {
echo \'<p class="page-link accent">\';
echo esc_html(( \'\' . __( "Chapter ", "sbwp" ) . \'\' . $page ));
echo \'</p>\';
}
}
}
最合适的回答,由SO网友:birgire 整理而成
这个$multipage
是在setup_postdata()
方法WP_Query
.当你跑的时候就会叫它the_post()
. 正如@s\\u ha\\u dum所解释的,您必须围绕它进行循环:
您可以尝试以下操作:
if( have_posts() )
{
the_post(); // Make a call to setup_postdata().
echo sbwp_get_current_chapter(); // Display the current chapter.
rewind_posts(); // Rewind back.
}
在主循环之前,您必须记住回放。