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的回调函数来查找层次循环。

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
查看更多 >