sites_pre_query

過濾鉤子
apply_filters_ref_array( 'sites_pre_query', array( $site_data, &$this )
引數
  • (array|int|null) $site_data Return an array of site data to short-circuit WP's site query, the site count as an integer if `$this->query_vars['count']` is set, or null to run the normal queries.
    Required:
  • (WP_Site_Query) $query The WP_Site_Query instance, passed by reference.
    Required:
定義位置
相關勾子
terms_pre_querynetworks_pre_queryfound_sites_queryparse_site_querythe_search_query
相關方法
the_search_queryis_main_querysanitize_title_for_querywp_reset_querysite_urlregister_block_core_query
引入
5.6.0
棄用
-

sites_pre_query動作。sites_pre_query動作是在WordPress中執行從多站點網路中檢索站點的查詢之前觸發的。這個動作可以用來修改查詢引數或在查詢執行前執行其他動作。

在進行get_sites查詢之前過濾網站資料。

返回一個非空值以繞過WordPress的預設站點查詢。

這個過濾器的預期返回型別取決於請求查詢變數中傳遞的值:

  • $this->query_vars['count'] 被設定時,該過濾器應該返回網站計數為整數。
  • 'ids' === $this->query_vars['fields'] 時,過濾器應該返回一個網站ID的陣列。
  • 否則,過濾器應該返回一個WP_Site物件的陣列。

注意,如果過濾器返回一個網站資料陣列,它將被分配到當前WP_Site_Query例項的 sites 屬性。

我們鼓勵需要分頁資訊的過濾函式設定WP_Site_Query物件的 found_sites 和 max_num_pages 屬性,通過引用傳遞給過濾器。如果WP_Site_Query不執行資料庫查詢,它將沒有足夠的資訊來自行生成這些值。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$site_data = apply_filters_ref_array( 'sites_pre_query', array( $site_data, &$this ) );
$site_data = apply_filters_ref_array( 'sites_pre_query', array( $site_data, &$this ) );
$site_data = apply_filters_ref_array( 'sites_pre_query', array( $site_data, &$this ) );

常見問題

FAQs
檢視更多 >