$11 GRAYBYTE WORDPRESS FILE MANAGER $88

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.66.139 | ADMIN IP 216.73.216.86
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravetechrwanda/itiministry.org/wp-includes/html-api/

HOME
Current File : /home/bravetechrwanda/itiministry.org/wp-includes/html-api//class-wp-widget-factory.php
<?php
/**
 * Widget API: WP_Widget_Factory class
 *
 * @package WordPress
 * @subpackage Widgets
 * @since 4.4.0
 */

/**
 * Singleton that registers and instantiates WP_Widget classes.
 *
 * @since 2.8.0
 * @since 4.4.0 Moved to its own file from wp-includes/widgets.php
 */
#[AllowDynamicProperties]
class WP_Widget_Factory {

	/**
	 * Widgets array.
	 *
	 * @since 2.8.0
	 * @var array
	 */
	public $widgets = array();

	/**
	 * PHP5 constructor.
	 *
	 * @since 4.3.0
	 */
	public function __construct() {
		add_action( 'widgets_init', array( $this, '_register_widgets' ), 100 );
	}

	/**
	 * PHP4 constructor.
	 *
	 * @since 2.8.0
	 * @deprecated 4.3.0 Use __construct() instead.
	 *
	 * @see WP_Widget_Factory::__construct()
	 */
	public function WP_Widget_Factory() {
		_deprecated_constructor( 'WP_Widget_Factory', '4.3.0' );
		self::__construct();
	}

	/**
	 * Registers a widget subclass.
	 *
	 * @since 2.8.0
	 * @since 4.6.0 Updated the `$widget` parameter to also accept a WP_Widget instance object
	 *              instead of simply a `WP_Widget` subclass name.
	 *
	 * @param string|WP_Widget $widget Either the name of a `WP_Widget` subclass or an instance of a `WP_Widget` subclass.
	 */
	public function register( $widget ) {
		if ( $widget instanceof WP_Widget ) {
			$this->widgets[ spl_object_hash( $widget ) ] = $widget;
		} else {
			$this->widgets[ $widget ] = new $widget();
		}
	}

	/**
	 * Un-registers a widget subclass.
	 *
	 * @since 2.8.0
	 * @since 4.6.0 Updated the `$widget` parameter to also accept a WP_Widget instance object
	 *              instead of simply a `WP_Widget` subclass name.
	 *
	 * @param string|WP_Widget $widget Either the name of a `WP_Widget` subclass or an instance of a `WP_Widget` subclass.
	 */
	public function unregister( $widget ) {
		if ( $widget instanceof WP_Widget ) {
			unset( $this->widgets[ spl_object_hash( $widget ) ] );
		} else {
			unset( $this->widgets[ $widget ] );
		}
	}

	/**
	 * Serves as a utility method for adding widgets to the registered widgets global.
	 *
	 * @since 2.8.0
	 *
	 * @global array $wp_registered_widgets
	 */
	public function _register_widgets() {
		global $wp_registered_widgets;
		$keys       = array_keys( $this->widgets );
		$registered = array_keys( $wp_registered_widgets );
		$registered = array_map( '_get_widget_id_base', $registered );

		foreach ( $keys as $key ) {
			// Don't register new widget if old widget with the same id is already registered.
			if ( in_array( $this->widgets[ $key ]->id_base, $registered, true ) ) {
				unset( $this->widgets[ $key ] );
				continue;
			}

			$this->widgets[ $key ]->_register();
		}
	}

	/**
	 * Returns the registered WP_Widget object for the given widget type.
	 *
	 * @since 5.8.0
	 *
	 * @param string $id_base Widget type ID.
	 * @return WP_Widget|null
	 */
	public function get_widget_object( $id_base ) {
		$key = $this->get_widget_key( $id_base );
		if ( '' === $key ) {
			return null;
		}

		return $this->widgets[ $key ];
	}

	/**
	 * Returns the registered key for the given widget type.
	 *
	 * @since 5.8.0
	 *
	 * @param string $id_base Widget type ID.
	 * @return string
	 */
	public function get_widget_key( $id_base ) {
		foreach ( $this->widgets as $key => $widget_object ) {
			if ( $widget_object->id_base === $id_base ) {
				return $key;
			}
		}

		return '';
	}
}

Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
6 May 2026 12.47 PM
bravetechrwanda / bravetechrwanda
0755
wk
--
8 Feb 2026 11.06 PM
bravetechrwanda / bravetechrwanda
0755
wp-site
--
30 Mar 2026 6.20 PM
bravetechrwanda / bravetechrwanda
0755
class-walker-category.php
8.278 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-walker-comment.php
13.888 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-active-formatting-elements.php
7.094 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-attribute-token.php
2.71 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-decoder.php
16.301 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-doctype-info-20260506080546.php
24.787 KB
2 Dec 2025 11.05 PM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-doctype-info.php
24.787 KB
2 Dec 2025 11.05 PM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-open-elements.php
21.951 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-processor-state.php
11.069 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-processor.php
208.437 KB
2 Dec 2025 11.05 PM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-span.php
1.073 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-stack-event.php
1.601 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-tag-processor.php
147.748 KB
11 Mar 2026 8.22 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-text-replacement.php
1.376 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-token.php
3.33 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-html-unsupported-exception.php
3.521 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
class-wp-widget-factory.php
3.269 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
html5-named-character-references.php
78.284 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
ms-blogs.php
25.239 KB
17 Oct 2025 11.09 AM
bravetechrwanda / bravetechrwanda
0644
theme.php
133.695 KB
2 Dec 2025 11.05 PM
bravetechrwanda / bravetechrwanda
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF Static GIF