多页设置不是通过查询发生的,它仅通过setup_postdata()
作用
您只需要增加一个全局变量,并使用\'the_post\'
在该函数结束时激发的钩子。
类似于:
add_action(\'the_post\', function(WP_Post $post) {
global $multipage, $numpages, $pages;
$multipage = 1; // ensure post is considered multipage: needed for single page posts
$numpages++; // increment number of pages
$pages[] = my_last_page_content($post); // set the static content for last page
});
不需要其他任何东西,因为
wp_link_pages()
将了解当前帖子的页面数,并将相应地采取行动。
正如你所看到的,我使用了一个自定义my_last_page_content
函数为最后一页创建内容。我将post对象传递给该函数,因为可能需要构建“假”页面内容,例如获取post title或permalink。
下面是一个粗略的示例:
function my_last_page_content(WP_Post $post)
{
$format = \'<div><a href="%s"><i class="fa fa-twitter"></i> %s</a></div>\';
$url = \'https://twitter.com/home?status=\'
. urlencode(__(\'New blog post: \', \'txtdomain\'))
. \'%22\' . urlencode(apply_filters(\'the_title\', $post->post_title)) . \'%22\'
. \'%20\' . urlencode(get_permalink($post));
return sprintf($format, $url, esc_html__(\'Share on Twitter\', \'txtdomain\') );
}