存档页面上的$NumPages和$max_Page之间的差异

时间:2011-10-11 作者:kaiser

看了之后global $max_page;global $numpages; 在类别存档页上(is_archive() || $GLOBALS[\'wp_query\']->is_archive 正在返回true), 我看到以下返回值:

  • $numpages: 4
  • $max_page: 7这里发生了什么事?

    其他Qs:

    他们来自哪里?查看/wp includes/query之后。我找到的php$numpages 在里面setup_postdata(), 但beeing称为global 在顶部和后面,按通过<!-- nextpage -->-阵列

  • $multipage get设置为0 如果$post->post_content 已是数组。为什么在这种情况下设置为0, 因为数组指示它应该是多页的?另外:阵列从何而来?post\\u内容另存为字符串$numpages 在存档模板/页面上,因为它仅用于页面内容类型
1 个回复
最合适的回答,由SO网友:Rarst 整理而成

首先,让我们逐一检查变量:

  1. $numpages 在每个setup_postdata() 呼叫它会变成1 或多页文章中的页数。

  2. $max_page 似乎根本不是全球性的。我在代码中并没有看到这样的引用,从快速测试中,我并没有在归档页面上设置它。

  3. $multipage 指示当前帖子是否有多个页面(换句话说,如果$numpages 大于1).

    他们来自哪里?

    主要地setup_postdata() 正如你所发现的。

    $multipage get设置为0 如果$post->post_content 已是数组

    事实并非如此。设置为0 如果$post->post_content 不包含任何<!--nextpage-->.

    为什么我有$numpages 在存档模板/页面上,因为它仅用于页面内容类型?

    因为任何循环都会设置它(在setup_postdata() 调用),并保持设置状态。这就像在没有重置的循环之后调用某个东西——全局成员仍然持有上次循环的任何帖子。

结束

相关推荐

Get paged outside of loop?

是否可以在标准WP循环之外进行寻呼?我已经在循环中使用了:<?php if ( $paged >= 2 ) { ?> Some text for the 2nd page on up <?php } ?> 但我希望能够在第二页或更大的所有页面上,在循环之外回显一些文本。可能的还是更好的方法?