问题描述
paginate_links
Codex 函数参考有一些正在网络转发的示例代码。
它有一个部分使用一个名为 $big = 999999999; // need an unlikely integer
的变量:
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages
) );
并用于 echo paginate_links
功能中的 str_replace
。
这是一种封装形式吗?
最佳解决方案
请注意 get_pagenum_link( $big )
:这将根据第一个参数中提供的数字创建一个 URL(而不是一个链接) 。
该函数用于获取 URL 的基本模式,此处使用高整数,因为:
-
您必须提供一个整数作为参数。
-
生成的 URL 使用
apply_filters('get_pagenum_link', $result)
过滤,可能会被插件更改。例如,当插件为 sub-pages 执行单独的标题时,与现有页面匹配的数字的风险略高。
所以这只是一个肮脏的惯例,一个信号到其他插件:不要更改那个请!我认为 PHP_INT_MAX
本来会更好,但还是很丑。我想知道有多少插件开发人员知道。
然后将数字替换为 paginate_links()
中所需的占位符。
你在这里看到的是一个不完整的 API 。尝试从这个例子中学到一些东西 – 不要发布不完整的 API,否则你的文档会令人尴尬。 🙂
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。