wp_find_hierarchy_loop

函式
wp_find_hierarchy_loop ( $callback, $start, $start_parent, $callback_args = array() )
Access
Private
引數
  • (callable) $callback Function that accepts ( ID, $callback_args ) and outputs parent_ID.
    Required:
  • (int) $start The ID to start the loop check at.
    Required:
  • (int) $start_parent The parent_ID of $start to use instead of calling $callback( $start ). Use null to always use $callback
    Required:
  • (array) $callback_args Optional. Additional arguments to send to $callback.
    Required:
    Default: array()
返回值
  • (array) IDs of all members of loop.
定義位置
相關方法
wp_find_hierarchy_loop_tortoise_harewp_check_term_hierarchy_for_loopswp_check_post_hierarchy_for_loopsin_the_loopget_page_hierarchy
引入
3.1.0
棄用
-

wp_find_hierarchy_loop: 這是一個遞迴函式,用於在WordPress的分層資料結構中尋找迴圈,例如文章的父/子關係。它需要一個起點(一個文章或術語的ID),並從那裡遍歷層次結構,通過維護一個訪問過的節點的記錄來檢查任何迴圈。如果檢測到一個迴圈,該函式返回一個迴圈的陣列,否則它返回null。

使用一個將物件ID對映到父級ID的回撥函式來查詢層次迴圈。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function wp_find_hierarchy_loop( $callback, $start, $start_parent, $callback_args = array() ) {
$override = is_null( $start_parent ) ? array() : array( $start => $start_parent );
$arbitrary_loop_member = wp_find_hierarchy_loop_tortoise_hare( $callback, $start, $override, $callback_args );
if ( ! $arbitrary_loop_member ) {
return array();
}
return wp_find_hierarchy_loop_tortoise_hare( $callback, $arbitrary_loop_member, $override, $callback_args, true );
}
function wp_find_hierarchy_loop( $callback, $start, $start_parent, $callback_args = array() ) { $override = is_null( $start_parent ) ? array() : array( $start => $start_parent ); $arbitrary_loop_member = wp_find_hierarchy_loop_tortoise_hare( $callback, $start, $override, $callback_args ); if ( ! $arbitrary_loop_member ) { return array(); } return wp_find_hierarchy_loop_tortoise_hare( $callback, $arbitrary_loop_member, $override, $callback_args, true ); }
function wp_find_hierarchy_loop( $callback, $start, $start_parent, $callback_args = array() ) {
	$override = is_null( $start_parent ) ? array() : array( $start => $start_parent );

	$arbitrary_loop_member = wp_find_hierarchy_loop_tortoise_hare( $callback, $start, $override, $callback_args );
	if ( ! $arbitrary_loop_member ) {
		return array();
	}

	return wp_find_hierarchy_loop_tortoise_hare( $callback, $arbitrary_loop_member, $override, $callback_args, true );
}

常見問題

FAQs
檢視更多 >