wp_widget_description

Definition:
function wp_widget_description( $id ) {}

Retrieve description for widget.
When registering widgets, the options can also include ‘description’ that describes the widget for display on the widget administration panel or in the theme.

Parameters

  • int|string $id: Widget ID.

Return values

returns:Widget description, if available. Null on failure to retrieve description.

Source code

function wp_widget_description( $id ) {

	if ( !is_scalar($id) )

		return;



	global $wp_registered_widgets;



	if ( isset($wp_registered_widgets[$id]['description']) )

		return esc_html( $wp_registered_widgets[$id]['description'] );

}

4269

wp_widget_control

Definition:
function wp_widget_control( $sidebar_args ) {}

Meta widget used to display the control form for a widget.
Called from dynamic_sidebar().

Parameters

  • array $sidebar_args

Source code

function wp_widget_control( $sidebar_args ) {

	global $wp_registered_widgets, $wp_registered_widget_controls, $sidebars_widgets;



	$widget_id = $sidebar_args['widget_id'];

	$sidebar_id = isset($sidebar_args['id']) ? $sidebar_args['id'] : false;

	$key = $sidebar_id ? array_search( $widget_id, $sidebars_widgets[$sidebar_id] ) : '-1'; // position of widget in sidebar

	$control = isset($wp_registered_widget_controls[$widget_id]) ? $wp_registered_widget_controls[$widget_id] : array();

	$widget = $wp_registered_widgets[$widget_id];



	$id_format = $widget['id'];

	$widget_number = isset($control['params'][0]['number']) ? $control['params'][0]['number'] : '';

	$id_base = isset($control['id_base']) ? $control['id_base'] : $widget_id;

	$multi_number = isset($sidebar_args['_multi_num']) ? $sidebar_args['_multi_num'] : '';

	$add_new = isset($sidebar_args['_add']) ? $sidebar_args['_add'] : '';



	$query_arg = array( 'editwidget' => $widget['id'] );

	if ( $add_new ) {

		$query_arg['addnew'] = 1;

		if ( $multi_number ) {

			$query_arg['num'] = $multi_number;

			$query_arg['base'] = $id_base;

		}

	} else {

		$query_arg['sidebar'] = $sidebar_id;

		$query_arg['key'] = $key;

	}



	// We aren't showing a widget control, we're outputing a template for a mult-widget control

	if ( isset($sidebar_args['_display']) && 'template' == $sidebar_args['_display'] && $widget_number ) {

		// number == -1 implies a template where id numbers are replaced by a generic '__i__'

		$control['params'][0]['number'] = -1;

		// with id_base widget id's are constructed like {$id_base}-{$id_number}

		if ( isset($control['id_base']) )

			$id_format = $control['id_base'] . '-__i__';

	}



	$wp_registered_widgets[$widget_id]['callback'] = $wp_registered_widgets[$widget_id]['_callback'];

	unset($wp_registered_widgets[$widget_id]['_callback']);



	$widget_title = esc_html( strip_tags( $sidebar_args['widget_name'] ) );

	$has_form = 'noform';



	echo $sidebar_args['before_widget']; ?>

	<div class="widget-top">

	<div class="widget-title-action">

		<a class="widget-action hide-if-no-js" href="#available-widgets"></a>

		<a class="widget-control-edit hide-if-js" href="<?php echo esc_url( add_query_arg( $query_arg ) ); ?>"><span class="edit"><?php _e('Edit'); ?></span><span class="add"><?php _e('Add'); ?></span></a>

	</div>

	<div class="widget-title"><h4><?php echo $widget_title ?><span class="in-widget-title"></span></h4></div>

	</div>



	<div class="widget-inside">

	<form action="" method="post">

	<div class="widget-content">

<?php

	if ( isset($control['callback']) )

		$has_form = call_user_func_array( $control['callback'], $control['params'] );

	else

		echo "\t\t<p>" . __('There are no options for this widget.') . "</p>\n"; ?>

	</div>

	<input type="hidden" name="widget-id" class="widget-id" value="<?php echo esc_attr($id_format); ?>" />

	<input type="hidden" name="id_base" class="id_base" value="<?php echo esc_attr($id_base); ?>" />

	<input type="hidden" name="widget-width" class="widget-width" value="<?php if (isset( $control['width'] )) echo esc_attr($control['width']); ?>" />

	<input type="hidden" name="widget-height" class="widget-height" value="<?php if (isset( $control['height'] )) echo esc_attr($control['height']); ?>" />

	<input type="hidden" name="widget_number" class="widget_number" value="<?php echo esc_attr($widget_number); ?>" />

	<input type="hidden" name="multi_number" class="multi_number" value="<?php echo esc_attr($multi_number); ?>" />

	<input type="hidden" name="add_new" class="add_new" value="<?php echo esc_attr($add_new); ?>" />



	<div class="widget-control-actions">

		<div class="alignleft">

		<a class="widget-control-remove" href="#remove"><?php _e('Delete'); ?></a> |

		<a class="widget-control-close" href="#close"><?php _e('Close'); ?></a>

		</div>

		<div class="alignright<?php if ( 'noform' === $has_form ) echo ' widget-control-noform'; ?>">

		<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-feedback" title="" alt="" />

		<?php submit_button( __( 'Save' ), 'button-primary widget-control-save', 'savewidget', false, array( 'id' => 'widget-' . esc_attr( $id_format ) . '-savewidget' ) ); ?>

		</div>

		<br class="clear" />

	</div>

	</form>

	</div>



	<div class="widget-description">

<?php echo ( $widget_description = wp_widget_description($widget_id) ) ? "$widget_description\n" : "$widget_title\n"; ?>

	</div>

<?php

	echo $sidebar_args['after_widget'];

	return $sidebar_args;

}

4267

wp_widgets_init

Definition:
function wp_widgets_init() {}

Register all of the default WordPress widgets on startup.
Calls ‘widgets_init’ action after all of the WordPress widgets have been registered.

Defined actions

  • widgets_init
    do_action('widgets_init');

Source code

function wp_widgets_init() {

	if ( !is_blog_installed() )

		return;



	register_widget('WP_Widget_Pages');



	register_widget('WP_Widget_Calendar');



	register_widget('WP_Widget_Archives');



	register_widget('WP_Widget_Links');



	register_widget('WP_Widget_Meta');



	register_widget('WP_Widget_Search');



	register_widget('WP_Widget_Text');



	register_widget('WP_Widget_Categories');



	register_widget('WP_Widget_Recent_Posts');



	register_widget('WP_Widget_Recent_Comments');



	register_widget('WP_Widget_RSS');



	register_widget('WP_Widget_Tag_Cloud');



	register_widget('WP_Nav_Menu_Widget');



	do_action('widgets_init');

}

4265

wp_widgets_add_menu

Definition:
function wp_widgets_add_menu() {}

Append the Widgets menu to the themes main menu.

Source code

function wp_widgets_add_menu() {

	global $submenu;

	$submenu['themes.php'][7] = array( __( 'Widgets' ), 'edit_theme_options', 'widgets.php' );

	ksort( $submenu['themes.php'], SORT_NUMERIC );

}

4263

wp_version_check

Definition:
function wp_version_check() {}

Check WordPress version against the newest version.
The WordPress version, PHP version, and Locale is sent. Checks against the WordPress server at api.wordpress.org server. Will only check if WordPress isn’t installing.

Return values

returns:Returns null if update is unsupported. Returns false if check is too soon.

Defined filters

  • core_version_check_locale
    apply_filters( 'core_version_check_locale', get_locale()

Source code

function wp_version_check() {

	if ( defined('WP_INSTALLING') )

		return;



	global $wpdb, $wp_local_package;

	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version

	$php_version = phpversion();



	$current = get_site_transient( 'update_core' );

	if ( ! is_object($current) ) {

		$current = new stdClass;

		$current->updates = array();

		$current->version_checked = $wp_version;

	}



	$locale = apply_filters( 'core_version_check_locale', get_locale() );



	// Update last_checked for current to prevent multiple blocking requests if request hangs

	$current->last_checked = time();

	set_site_transient( 'update_core', $current );



	if ( method_exists( $wpdb, 'db_version' ) )

		$mysql_version = preg_replace('/[^0-9.].*/', '', $wpdb->db_version());

	else

		$mysql_version = 'N/A';



	if ( is_multisite( ) ) {

		$user_count = get_user_count( );

		$num_blogs = get_blog_count( );

		$wp_install = network_site_url( );

		$multisite_enabled = 1;

	} else {

		$user_count = count_users( );

		$multisite_enabled = 0;

		$num_blogs = 1;

		$wp_install = home_url( '/' );

	}



	$query = array(

		'version'           => $wp_version,

		'php'               => $php_version,

		'locale'            => $locale,

		'mysql'             => $mysql_version,

		'local_package'     => isset( $wp_local_package ) ? $wp_local_package : '',

		'blogs'             => $num_blogs,

		'users'             => $user_count['total_users'],

		'multisite_enabled' => $multisite_enabled

	);



	$url = 'http://api.wordpress.org/core/version-check/1.6/?' . http_build_query( $query, null, '&' );



	$options = array(

		'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ),

		'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url( '/' ),

		'headers' => array(

			'wp_install' => $wp_install,

			'wp_blog' => home_url( '/' )

		)

	);



	$response = wp_remote_get($url, $options);



	if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )

		return false;



	$body = trim( wp_remote_retrieve_body( $response ) );

	if ( ! $body = maybe_unserialize( $body ) )

		return false;

	if ( ! isset( $body['offers'] ) )

		return false;

	$offers = $body['offers'];



	foreach ( $offers as &$offer ) {

		foreach ( $offer as $offer_key => $value ) {

			if ( 'packages' == $offer_key )

				$offer['packages'] = (object) array_intersect_key( array_map( 'esc_url', $offer['packages'] ),

					array_fill_keys( array( 'full', 'no_content', 'new_bundled', 'partial' ), '' ) );

			elseif ( 'download' == $offer_key )

				$offer['download'] = esc_url( $value );

			else

				$offer[ $offer_key ] = esc_html( $value );

		}

		$offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale',

			'packages', 'current', 'php_version', 'mysql_version', 'new_bundled', 'partial_version' ), '' ) );

	}



	$updates = new stdClass();

	$updates->updates = $offers;

	$updates->last_checked = time();

	$updates->version_checked = $wp_version;

	set_site_transient( 'update_core',  $updates);

}

4261