問題描述

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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。