> List of widgets with resolved * module handles. */ function gutenberg_get_registered_widget_modules() { static $widgets = null; if ( null === $widgets ) { $registry_file = __DIR__ . '/widgets/registry.php'; $raw = file_exists( $registry_file ) ? require $registry_file : array(); if ( ! is_array( $raw ) ) { $raw = array(); } $widgets = array_map( static function ( $widget ) { $widget['render_module'] = ! empty( $widget['has_render'] ) ? 'wp/widgets/' . $widget['dir_name'] . '/render' : null; $widget['widget_module'] = ! empty( $widget['has_widget'] ) ? 'wp/widgets/' . $widget['dir_name'] . '/widget' : null; return $widget; }, $raw ); } return $widgets; }