问题描述

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 的基本模式,此处使用高整数,因为:

  1. 您必须提供一个整数作为参数。

  2. 生成的 URL 使用 apply_filters('get_pagenum_link', $result)过滤,可能会被插件更改。例如,当插件为 sub-pages 执行单独的标题时,与现有页面匹配的数字的风险略高。

所以这只是一个肮脏的惯例,一个信号到其他插件:不要更改那个请!我认为 PHP_INT_MAX 本来会更好,但还是很丑。我想知道有多少插件开发人员知道。

然后将数字替换为 paginate_links()中所需的占位符。

你在这里看到的是一个不完整的 API 。尝试从这个例子中学到一些东西 – 不要发布不完整的 API,否则你的文档会令人尴尬。 🙂

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。