如何忽略或禁用NextPage标签?

时间:2015-04-08 作者:lucian

我有一个使用<!--nextpage--> 为分页目的在帖子中添加标签。我想禁用分页,但不删除数据库的标记(也许他们将来会再次使用它们)。

已尝试删除wp_link_pages(); 从模板,但它只会显示第一页的内容,没有链接-我不知道这是它应该如何工作或什么错误。

我怎样才能让wordpress完全忽略<!--nextpage--> 并立即显示完整的帖子?

2 个回复
最合适的回答,由SO网友:birgire 整理而成

您可以尝试使用the_post 过滤器,以覆盖在setup_postdata() 函数(PHP 5.4+):

/**
 * Ignore the <!--nextpage--> for content pagination.
 * 
 * @see http://wordpress.stackexchange.com/a/183587/26350
 */

add_action( \'the_post\', function( $post )
{
    if ( false !== strpos( $post->post_content, \'<!--nextpage-->\' ) ) 
    {
        // Reset the global $pages:
        $GLOBALS[\'pages\']     = [ $post->post_content ];

        // Reset the global $numpages:
        $GLOBALS[\'numpages\']  = 0;

       // Reset the global $multipage:
        $GLOBALS[\'multipage\'] = false;
    }

}, 99 );
忽略<!--nextpage--> 特色

全球$pages 变量包含分页内容:

$pages = explode(\'<!--nextpage-->\', $content);
因此,我们需要将其恢复为:

$pages = array( $post->post_content );
我们实际上不需要恢复$numpages 变量,但我们这样做是作为房屋清洁的一部分。如果我们能恢复$pages$numpages=0 然后我们会得到:

<div class="page-links">Pages:</div>    
Thewp_link_pages() 作用checks 如果全球$multipage 为true以显示内容分页输出。这就是要设置为false以删除整个输出的变量。我们也可以使用wp_link_pages 筛选以将其删除。

SO网友:SatuWeb

试着把<?php $GLOBALS[\'multipage\'] = false; ?> 在您的循环中。如果手机中未显示分页器:

wp_is_mobile()
$GLOBALS[\'multipage\'] = false;
我希望这对你有帮助

结束

相关推荐

Adding pagination to WP_Query

我有以下循环(这是在single 页面,而不是index.php):$top_meta_cat_args = array( \'posts_per_page\' => 9, \'post_type\' => \'post\', \'meta_key\' => \'top-radio\', \'meta_value\' => \'top-yes\', \'post_status\' =&g