将侧边栏列表与其小部件与白名单进行比较。
原型
_wp_remove_unregistered_widgets( array $sidebars_widgets, array $whitelist = array() )
参数
$sidebars_widgets
(array)
(Required)
侧栏列表及其窗口小部件实例ID。
$whitelist
(array)
(Optional)
要比较的窗口小部件ID列表。默认值:已注册的小部件。
返回值
(array)
带有白名单小部件的侧边栏。
源文件
路径:wp-includes/widgets.php
<?php
...
function _wp_remove_unregistered_widgets( $sidebars_widgets, $whitelist = array() ) {
if ( empty( $whitelist ) ) {
$whitelist = array_keys( $GLOBALS['wp_registered_widgets'] );
}
foreach ( $sidebars_widgets as $sidebar => $widgets ) {
if ( is_array( $widgets ) ) {
$sidebars_widgets[ $sidebar ] = array_intersect( $widgets, $whitelist );
}
}
return $sidebars_widgets;
}
...
?>
其他
英文文档:https://developer.wordpress.org/reference/functions/_wp_remove_unregistered_widgets/