_wp_remove_unregistered_widgets

函式
_wp_remove_unregistered_widgets ( $sidebars_widgets, $allowed_widget_ids = array() )
引數
  • (array) $sidebars_widgets List of sidebars and their widget instance IDs.
    Required:
  • (array) $allowed_widget_ids Optional. List of widget IDs to compare against. Default: Registered widgets.
    Required:
    Default: array()
返回值
  • (array) Sidebars with allowed widgets.
定義位置
相關方法
wp_unregister_sidebar_widgetunregister_widgetwp_embed_unregister_handlerwp_unregister_widget_controlwp_register_sidebar_widget
引入
4.9.0
棄用
-

_wp_remove_unregistered_widgets: 這個函式刪除任何不再在WordPress安裝中註冊的小工具。它在widgets_init動作中被呼叫。

將一個側邊欄及其小工具的列表與允許的列表進行比較。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function _wp_remove_unregistered_widgets( $sidebars_widgets, $allowed_widget_ids = array() ) {
if ( empty( $allowed_widget_ids ) ) {
$allowed_widget_ids = array_keys( $GLOBALS['wp_registered_widgets'] );
}
foreach ( $sidebars_widgets as $sidebar => $widgets ) {
if ( is_array( $widgets ) ) {
$sidebars_widgets[ $sidebar ] = array_intersect( $widgets, $allowed_widget_ids );
}
}
return $sidebars_widgets;
}
function _wp_remove_unregistered_widgets( $sidebars_widgets, $allowed_widget_ids = array() ) { if ( empty( $allowed_widget_ids ) ) { $allowed_widget_ids = array_keys( $GLOBALS['wp_registered_widgets'] ); } foreach ( $sidebars_widgets as $sidebar => $widgets ) { if ( is_array( $widgets ) ) { $sidebars_widgets[ $sidebar ] = array_intersect( $widgets, $allowed_widget_ids ); } } return $sidebars_widgets; }
function _wp_remove_unregistered_widgets( $sidebars_widgets, $allowed_widget_ids = array() ) {
	if ( empty( $allowed_widget_ids ) ) {
		$allowed_widget_ids = array_keys( $GLOBALS['wp_registered_widgets'] );
	}

	foreach ( $sidebars_widgets as $sidebar => $widgets ) {
		if ( is_array( $widgets ) ) {
			$sidebars_widgets[ $sidebar ] = array_intersect( $widgets, $allowed_widget_ids );
		}
	}

	return $sidebars_widgets;
}

常見問題

FAQs
檢視更多 >