Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../public_h.../wp-inclu...
File: widgets.php
*
[500] Fix | Delete
* @param int|string $id The widget ID.
[501] Fix | Delete
*/
[502] Fix | Delete
do_action( 'wp_unregister_sidebar_widget', $id );
[503] Fix | Delete
[504] Fix | Delete
wp_register_sidebar_widget( $id, '', '' );
[505] Fix | Delete
wp_unregister_widget_control( $id );
[506] Fix | Delete
}
[507] Fix | Delete
[508] Fix | Delete
/**
[509] Fix | Delete
* Registers widget control callback for customizing options.
[510] Fix | Delete
*
[511] Fix | Delete
* @since 2.2.0
[512] Fix | Delete
* @since 5.3.0 Formalized the existing and already documented `...$params` parameter
[513] Fix | Delete
* by adding it to the function signature.
[514] Fix | Delete
*
[515] Fix | Delete
* @global array $wp_registered_widget_controls The registered widget controls.
[516] Fix | Delete
* @global array $wp_registered_widget_updates The registered widget updates.
[517] Fix | Delete
* @global array $wp_registered_widgets The registered widgets.
[518] Fix | Delete
* @global array $_wp_deprecated_widgets_callbacks
[519] Fix | Delete
*
[520] Fix | Delete
* @param int|string $id Sidebar ID.
[521] Fix | Delete
* @param string $name Sidebar display name.
[522] Fix | Delete
* @param callable $control_callback Run when sidebar is displayed.
[523] Fix | Delete
* @param array $options {
[524] Fix | Delete
* Optional. Array or string of control options. Default empty array.
[525] Fix | Delete
*
[526] Fix | Delete
* @type int $height Never used. Default 200.
[527] Fix | Delete
* @type int $width Width of the fully expanded control form (but try hard to use the default width).
[528] Fix | Delete
* Default 250.
[529] Fix | Delete
* @type int|string $id_base Required for multi-widgets, i.e widgets that allow multiple instances such as the
[530] Fix | Delete
* text widget. The widget ID will end up looking like `{$id_base}-{$unique_number}`.
[531] Fix | Delete
* }
[532] Fix | Delete
* @param mixed ...$params Optional additional parameters to pass to the callback function when it's called.
[533] Fix | Delete
*/
[534] Fix | Delete
function wp_register_widget_control( $id, $name, $control_callback, $options = array(), ...$params ) {
[535] Fix | Delete
global $wp_registered_widget_controls, $wp_registered_widget_updates, $wp_registered_widgets, $_wp_deprecated_widgets_callbacks;
[536] Fix | Delete
[537] Fix | Delete
$id = strtolower( $id );
[538] Fix | Delete
$id_base = _get_widget_id_base( $id );
[539] Fix | Delete
[540] Fix | Delete
if ( empty( $control_callback ) ) {
[541] Fix | Delete
unset( $wp_registered_widget_controls[ $id ] );
[542] Fix | Delete
unset( $wp_registered_widget_updates[ $id_base ] );
[543] Fix | Delete
return;
[544] Fix | Delete
}
[545] Fix | Delete
[546] Fix | Delete
if ( in_array( $control_callback, $_wp_deprecated_widgets_callbacks, true ) && ! is_callable( $control_callback ) ) {
[547] Fix | Delete
unset( $wp_registered_widgets[ $id ] );
[548] Fix | Delete
return;
[549] Fix | Delete
}
[550] Fix | Delete
[551] Fix | Delete
if ( isset( $wp_registered_widget_controls[ $id ] ) && ! did_action( 'widgets_init' ) ) {
[552] Fix | Delete
return;
[553] Fix | Delete
}
[554] Fix | Delete
[555] Fix | Delete
$defaults = array(
[556] Fix | Delete
'width' => 250,
[557] Fix | Delete
'height' => 200,
[558] Fix | Delete
); // Height is never used.
[559] Fix | Delete
$options = wp_parse_args( $options, $defaults );
[560] Fix | Delete
$options['width'] = (int) $options['width'];
[561] Fix | Delete
$options['height'] = (int) $options['height'];
[562] Fix | Delete
[563] Fix | Delete
$widget = array(
[564] Fix | Delete
'name' => $name,
[565] Fix | Delete
'id' => $id,
[566] Fix | Delete
'callback' => $control_callback,
[567] Fix | Delete
'params' => $params,
[568] Fix | Delete
);
[569] Fix | Delete
$widget = array_merge( $widget, $options );
[570] Fix | Delete
[571] Fix | Delete
$wp_registered_widget_controls[ $id ] = $widget;
[572] Fix | Delete
[573] Fix | Delete
if ( isset( $wp_registered_widget_updates[ $id_base ] ) ) {
[574] Fix | Delete
return;
[575] Fix | Delete
}
[576] Fix | Delete
[577] Fix | Delete
if ( isset( $widget['params'][0]['number'] ) ) {
[578] Fix | Delete
$widget['params'][0]['number'] = -1;
[579] Fix | Delete
}
[580] Fix | Delete
[581] Fix | Delete
unset( $widget['width'], $widget['height'], $widget['name'], $widget['id'] );
[582] Fix | Delete
$wp_registered_widget_updates[ $id_base ] = $widget;
[583] Fix | Delete
}
[584] Fix | Delete
[585] Fix | Delete
/**
[586] Fix | Delete
* Registers the update callback for a widget.
[587] Fix | Delete
*
[588] Fix | Delete
* @since 2.8.0
[589] Fix | Delete
* @since 5.3.0 Formalized the existing and already documented `...$params` parameter
[590] Fix | Delete
* by adding it to the function signature.
[591] Fix | Delete
*
[592] Fix | Delete
* @global array $wp_registered_widget_updates The registered widget updates.
[593] Fix | Delete
*
[594] Fix | Delete
* @param string $id_base The base ID of a widget created by extending WP_Widget.
[595] Fix | Delete
* @param callable $update_callback Update callback method for the widget.
[596] Fix | Delete
* @param array $options Optional. Widget control options. See wp_register_widget_control().
[597] Fix | Delete
* Default empty array.
[598] Fix | Delete
* @param mixed ...$params Optional additional parameters to pass to the callback function when it's called.
[599] Fix | Delete
*/
[600] Fix | Delete
function _register_widget_update_callback( $id_base, $update_callback, $options = array(), ...$params ) {
[601] Fix | Delete
global $wp_registered_widget_updates;
[602] Fix | Delete
[603] Fix | Delete
if ( isset( $wp_registered_widget_updates[ $id_base ] ) ) {
[604] Fix | Delete
if ( empty( $update_callback ) ) {
[605] Fix | Delete
unset( $wp_registered_widget_updates[ $id_base ] );
[606] Fix | Delete
}
[607] Fix | Delete
return;
[608] Fix | Delete
}
[609] Fix | Delete
[610] Fix | Delete
$widget = array(
[611] Fix | Delete
'callback' => $update_callback,
[612] Fix | Delete
'params' => $params,
[613] Fix | Delete
);
[614] Fix | Delete
[615] Fix | Delete
$widget = array_merge( $widget, $options );
[616] Fix | Delete
$wp_registered_widget_updates[ $id_base ] = $widget;
[617] Fix | Delete
}
[618] Fix | Delete
[619] Fix | Delete
/**
[620] Fix | Delete
* Registers the form callback for a widget.
[621] Fix | Delete
*
[622] Fix | Delete
* @since 2.8.0
[623] Fix | Delete
* @since 5.3.0 Formalized the existing and already documented `...$params` parameter
[624] Fix | Delete
* by adding it to the function signature.
[625] Fix | Delete
*
[626] Fix | Delete
* @global array $wp_registered_widget_controls The registered widget controls.
[627] Fix | Delete
*
[628] Fix | Delete
* @param int|string $id Widget ID.
[629] Fix | Delete
* @param string $name Name attribute for the widget.
[630] Fix | Delete
* @param callable $form_callback Form callback.
[631] Fix | Delete
* @param array $options Optional. Widget control options. See wp_register_widget_control().
[632] Fix | Delete
* Default empty array.
[633] Fix | Delete
* @param mixed ...$params Optional additional parameters to pass to the callback function when it's called.
[634] Fix | Delete
*/
[635] Fix | Delete
[636] Fix | Delete
function _register_widget_form_callback( $id, $name, $form_callback, $options = array(), ...$params ) {
[637] Fix | Delete
global $wp_registered_widget_controls;
[638] Fix | Delete
[639] Fix | Delete
$id = strtolower( $id );
[640] Fix | Delete
[641] Fix | Delete
if ( empty( $form_callback ) ) {
[642] Fix | Delete
unset( $wp_registered_widget_controls[ $id ] );
[643] Fix | Delete
return;
[644] Fix | Delete
}
[645] Fix | Delete
[646] Fix | Delete
if ( isset( $wp_registered_widget_controls[ $id ] ) && ! did_action( 'widgets_init' ) ) {
[647] Fix | Delete
return;
[648] Fix | Delete
}
[649] Fix | Delete
[650] Fix | Delete
$defaults = array(
[651] Fix | Delete
'width' => 250,
[652] Fix | Delete
'height' => 200,
[653] Fix | Delete
);
[654] Fix | Delete
$options = wp_parse_args( $options, $defaults );
[655] Fix | Delete
$options['width'] = (int) $options['width'];
[656] Fix | Delete
$options['height'] = (int) $options['height'];
[657] Fix | Delete
[658] Fix | Delete
$widget = array(
[659] Fix | Delete
'name' => $name,
[660] Fix | Delete
'id' => $id,
[661] Fix | Delete
'callback' => $form_callback,
[662] Fix | Delete
'params' => $params,
[663] Fix | Delete
);
[664] Fix | Delete
$widget = array_merge( $widget, $options );
[665] Fix | Delete
[666] Fix | Delete
$wp_registered_widget_controls[ $id ] = $widget;
[667] Fix | Delete
}
[668] Fix | Delete
[669] Fix | Delete
/**
[670] Fix | Delete
* Remove control callback for widget.
[671] Fix | Delete
*
[672] Fix | Delete
* @since 2.2.0
[673] Fix | Delete
*
[674] Fix | Delete
* @param int|string $id Widget ID.
[675] Fix | Delete
*/
[676] Fix | Delete
function wp_unregister_widget_control( $id ) {
[677] Fix | Delete
wp_register_widget_control( $id, '', '' );
[678] Fix | Delete
}
[679] Fix | Delete
[680] Fix | Delete
/**
[681] Fix | Delete
* Display dynamic sidebar.
[682] Fix | Delete
*
[683] Fix | Delete
* By default this displays the default sidebar or 'sidebar-1'. If your theme specifies the 'id' or
[684] Fix | Delete
* 'name' parameter for its registered sidebars you can pass an ID or name as the $index parameter.
[685] Fix | Delete
* Otherwise, you can pass in a numerical index to display the sidebar at that index.
[686] Fix | Delete
*
[687] Fix | Delete
* @since 2.2.0
[688] Fix | Delete
*
[689] Fix | Delete
* @global array $wp_registered_sidebars The registered sidebars.
[690] Fix | Delete
* @global array $wp_registered_widgets The registered widgets.
[691] Fix | Delete
*
[692] Fix | Delete
* @param int|string $index Optional. Index, name or ID of dynamic sidebar. Default 1.
[693] Fix | Delete
* @return bool True, if widget sidebar was found and called. False if not found or not called.
[694] Fix | Delete
*/
[695] Fix | Delete
function dynamic_sidebar( $index = 1 ) {
[696] Fix | Delete
global $wp_registered_sidebars, $wp_registered_widgets;
[697] Fix | Delete
[698] Fix | Delete
if ( is_int( $index ) ) {
[699] Fix | Delete
$index = "sidebar-$index";
[700] Fix | Delete
} else {
[701] Fix | Delete
$index = sanitize_title( $index );
[702] Fix | Delete
foreach ( (array) $wp_registered_sidebars as $key => $value ) {
[703] Fix | Delete
if ( sanitize_title( $value['name'] ) === $index ) {
[704] Fix | Delete
$index = $key;
[705] Fix | Delete
break;
[706] Fix | Delete
}
[707] Fix | Delete
}
[708] Fix | Delete
}
[709] Fix | Delete
[710] Fix | Delete
$sidebars_widgets = wp_get_sidebars_widgets();
[711] Fix | Delete
if ( empty( $wp_registered_sidebars[ $index ] ) || empty( $sidebars_widgets[ $index ] ) || ! is_array( $sidebars_widgets[ $index ] ) ) {
[712] Fix | Delete
/** This action is documented in wp-includes/widget.php */
[713] Fix | Delete
do_action( 'dynamic_sidebar_before', $index, false );
[714] Fix | Delete
/** This action is documented in wp-includes/widget.php */
[715] Fix | Delete
do_action( 'dynamic_sidebar_after', $index, false );
[716] Fix | Delete
/** This filter is documented in wp-includes/widget.php */
[717] Fix | Delete
return apply_filters( 'dynamic_sidebar_has_widgets', false, $index );
[718] Fix | Delete
}
[719] Fix | Delete
[720] Fix | Delete
$sidebar = $wp_registered_sidebars[ $index ];
[721] Fix | Delete
[722] Fix | Delete
$sidebar['before_sidebar'] = sprintf( $sidebar['before_sidebar'], $sidebar['id'], $sidebar['class'] );
[723] Fix | Delete
[724] Fix | Delete
/**
[725] Fix | Delete
* Fires before widgets are rendered in a dynamic sidebar.
[726] Fix | Delete
*
[727] Fix | Delete
* Note: The action also fires for empty sidebars, and on both the front end
[728] Fix | Delete
* and back end, including the Inactive Widgets sidebar on the Widgets screen.
[729] Fix | Delete
*
[730] Fix | Delete
* @since 3.9.0
[731] Fix | Delete
*
[732] Fix | Delete
* @param int|string $index Index, name, or ID of the dynamic sidebar.
[733] Fix | Delete
* @param bool $has_widgets Whether the sidebar is populated with widgets.
[734] Fix | Delete
* Default true.
[735] Fix | Delete
*/
[736] Fix | Delete
do_action( 'dynamic_sidebar_before', $index, true );
[737] Fix | Delete
[738] Fix | Delete
if ( ! is_admin() && ! empty( $sidebar['before_sidebar'] ) ) {
[739] Fix | Delete
echo $sidebar['before_sidebar'];
[740] Fix | Delete
}
[741] Fix | Delete
[742] Fix | Delete
$did_one = false;
[743] Fix | Delete
foreach ( (array) $sidebars_widgets[ $index ] as $id ) {
[744] Fix | Delete
[745] Fix | Delete
if ( ! isset( $wp_registered_widgets[ $id ] ) ) {
[746] Fix | Delete
continue;
[747] Fix | Delete
}
[748] Fix | Delete
[749] Fix | Delete
$params = array_merge(
[750] Fix | Delete
array(
[751] Fix | Delete
array_merge(
[752] Fix | Delete
$sidebar,
[753] Fix | Delete
array(
[754] Fix | Delete
'widget_id' => $id,
[755] Fix | Delete
'widget_name' => $wp_registered_widgets[ $id ]['name'],
[756] Fix | Delete
)
[757] Fix | Delete
),
[758] Fix | Delete
),
[759] Fix | Delete
(array) $wp_registered_widgets[ $id ]['params']
[760] Fix | Delete
);
[761] Fix | Delete
[762] Fix | Delete
// Substitute HTML `id` and `class` attributes into `before_widget`.
[763] Fix | Delete
$classname_ = '';
[764] Fix | Delete
foreach ( (array) $wp_registered_widgets[ $id ]['classname'] as $cn ) {
[765] Fix | Delete
if ( is_string( $cn ) ) {
[766] Fix | Delete
$classname_ .= '_' . $cn;
[767] Fix | Delete
} elseif ( is_object( $cn ) ) {
[768] Fix | Delete
$classname_ .= '_' . get_class( $cn );
[769] Fix | Delete
}
[770] Fix | Delete
}
[771] Fix | Delete
$classname_ = ltrim( $classname_, '_' );
[772] Fix | Delete
[773] Fix | Delete
$params[0]['before_widget'] = sprintf(
[774] Fix | Delete
$params[0]['before_widget'],
[775] Fix | Delete
str_replace( '\\', '_', $id ),
[776] Fix | Delete
$classname_
[777] Fix | Delete
);
[778] Fix | Delete
[779] Fix | Delete
/**
[780] Fix | Delete
* Filters the parameters passed to a widget's display callback.
[781] Fix | Delete
*
[782] Fix | Delete
* Note: The filter is evaluated on both the front end and back end,
[783] Fix | Delete
* including for the Inactive Widgets sidebar on the Widgets screen.
[784] Fix | Delete
*
[785] Fix | Delete
* @since 2.5.0
[786] Fix | Delete
*
[787] Fix | Delete
* @see register_sidebar()
[788] Fix | Delete
*
[789] Fix | Delete
* @param array $params {
[790] Fix | Delete
* @type array $args {
[791] Fix | Delete
* An array of widget display arguments.
[792] Fix | Delete
*
[793] Fix | Delete
* @type string $name Name of the sidebar the widget is assigned to.
[794] Fix | Delete
* @type string $id ID of the sidebar the widget is assigned to.
[795] Fix | Delete
* @type string $description The sidebar description.
[796] Fix | Delete
* @type string $class CSS class applied to the sidebar container.
[797] Fix | Delete
* @type string $before_widget HTML markup to prepend to each widget in the sidebar.
[798] Fix | Delete
* @type string $after_widget HTML markup to append to each widget in the sidebar.
[799] Fix | Delete
* @type string $before_title HTML markup to prepend to the widget title when displayed.
[800] Fix | Delete
* @type string $after_title HTML markup to append to the widget title when displayed.
[801] Fix | Delete
* @type string $widget_id ID of the widget.
[802] Fix | Delete
* @type string $widget_name Name of the widget.
[803] Fix | Delete
* }
[804] Fix | Delete
* @type array $widget_args {
[805] Fix | Delete
* An array of multi-widget arguments.
[806] Fix | Delete
*
[807] Fix | Delete
* @type int $number Number increment used for multiples of the same widget.
[808] Fix | Delete
* }
[809] Fix | Delete
* }
[810] Fix | Delete
*/
[811] Fix | Delete
$params = apply_filters( 'dynamic_sidebar_params', $params );
[812] Fix | Delete
[813] Fix | Delete
$callback = $wp_registered_widgets[ $id ]['callback'];
[814] Fix | Delete
[815] Fix | Delete
/**
[816] Fix | Delete
* Fires before a widget's display callback is called.
[817] Fix | Delete
*
[818] Fix | Delete
* Note: The action fires on both the front end and back end, including
[819] Fix | Delete
* for widgets in the Inactive Widgets sidebar on the Widgets screen.
[820] Fix | Delete
*
[821] Fix | Delete
* The action is not fired for empty sidebars.
[822] Fix | Delete
*
[823] Fix | Delete
* @since 3.0.0
[824] Fix | Delete
*
[825] Fix | Delete
* @param array $widget {
[826] Fix | Delete
* An associative array of widget arguments.
[827] Fix | Delete
*
[828] Fix | Delete
* @type string $name Name of the widget.
[829] Fix | Delete
* @type string $id Widget ID.
[830] Fix | Delete
* @type callable $callback When the hook is fired on the front end, `$callback` is an array
[831] Fix | Delete
* containing the widget object. Fired on the back end, `$callback`
[832] Fix | Delete
* is 'wp_widget_control', see `$_callback`.
[833] Fix | Delete
* @type array $params An associative array of multi-widget arguments.
[834] Fix | Delete
* @type string $classname CSS class applied to the widget container.
[835] Fix | Delete
* @type string $description The widget description.
[836] Fix | Delete
* @type array $_callback When the hook is fired on the back end, `$_callback` is populated
[837] Fix | Delete
* with an array containing the widget object, see `$callback`.
[838] Fix | Delete
* }
[839] Fix | Delete
*/
[840] Fix | Delete
do_action( 'dynamic_sidebar', $wp_registered_widgets[ $id ] );
[841] Fix | Delete
[842] Fix | Delete
if ( is_callable( $callback ) ) {
[843] Fix | Delete
call_user_func_array( $callback, $params );
[844] Fix | Delete
$did_one = true;
[845] Fix | Delete
}
[846] Fix | Delete
}
[847] Fix | Delete
[848] Fix | Delete
if ( ! is_admin() && ! empty( $sidebar['after_sidebar'] ) ) {
[849] Fix | Delete
echo $sidebar['after_sidebar'];
[850] Fix | Delete
}
[851] Fix | Delete
[852] Fix | Delete
/**
[853] Fix | Delete
* Fires after widgets are rendered in a dynamic sidebar.
[854] Fix | Delete
*
[855] Fix | Delete
* Note: The action also fires for empty sidebars, and on both the front end
[856] Fix | Delete
* and back end, including the Inactive Widgets sidebar on the Widgets screen.
[857] Fix | Delete
*
[858] Fix | Delete
* @since 3.9.0
[859] Fix | Delete
*
[860] Fix | Delete
* @param int|string $index Index, name, or ID of the dynamic sidebar.
[861] Fix | Delete
* @param bool $has_widgets Whether the sidebar is populated with widgets.
[862] Fix | Delete
* Default true.
[863] Fix | Delete
*/
[864] Fix | Delete
do_action( 'dynamic_sidebar_after', $index, true );
[865] Fix | Delete
[866] Fix | Delete
/**
[867] Fix | Delete
* Filters whether a sidebar has widgets.
[868] Fix | Delete
*
[869] Fix | Delete
* Note: The filter is also evaluated for empty sidebars, and on both the front end
[870] Fix | Delete
* and back end, including the Inactive Widgets sidebar on the Widgets screen.
[871] Fix | Delete
*
[872] Fix | Delete
* @since 3.9.0
[873] Fix | Delete
*
[874] Fix | Delete
* @param bool $did_one Whether at least one widget was rendered in the sidebar.
[875] Fix | Delete
* Default false.
[876] Fix | Delete
* @param int|string $index Index, name, or ID of the dynamic sidebar.
[877] Fix | Delete
*/
[878] Fix | Delete
return apply_filters( 'dynamic_sidebar_has_widgets', $did_one, $index );
[879] Fix | Delete
}
[880] Fix | Delete
[881] Fix | Delete
/**
[882] Fix | Delete
* Determines whether a given widget is displayed on the front end.
[883] Fix | Delete
*
[884] Fix | Delete
* Either $callback or $id_base can be used
[885] Fix | Delete
* $id_base is the first argument when extending WP_Widget class
[886] Fix | Delete
* Without the optional $widget_id parameter, returns the ID of the first sidebar
[887] Fix | Delete
* in which the first instance of the widget with the given callback or $id_base is found.
[888] Fix | Delete
* With the $widget_id parameter, returns the ID of the sidebar where
[889] Fix | Delete
* the widget with that callback/$id_base AND that ID is found.
[890] Fix | Delete
*
[891] Fix | Delete
* NOTE: $widget_id and $id_base are the same for single widgets. To be effective
[892] Fix | Delete
* this function has to run after widgets have initialized, at action {@see 'init'} or later.
[893] Fix | Delete
*
[894] Fix | Delete
* For more information on this and similar theme functions, check out
[895] Fix | Delete
* the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
[896] Fix | Delete
* Conditional Tags} article in the Theme Developer Handbook.
[897] Fix | Delete
*
[898] Fix | Delete
* @since 2.2.0
[899] Fix | Delete
*
[900] Fix | Delete
* @global array $wp_registered_widgets The registered widgets.
[901] Fix | Delete
*
[902] Fix | Delete
* @param callable|false $callback Optional. Widget callback to check. Default false.
[903] Fix | Delete
* @param string|false $widget_id Optional. Widget ID. Optional, but needed for checking.
[904] Fix | Delete
* Default false.
[905] Fix | Delete
* @param string|false $id_base Optional. The base ID of a widget created by extending WP_Widget.
[906] Fix | Delete
* Default false.
[907] Fix | Delete
* @param bool $skip_inactive Optional. Whether to check in 'wp_inactive_widgets'.
[908] Fix | Delete
* Default true.
[909] Fix | Delete
* @return string|false ID of the sidebar in which the widget is active,
[910] Fix | Delete
* false if the widget is not active.
[911] Fix | Delete
*/
[912] Fix | Delete
function is_active_widget( $callback = false, $widget_id = false, $id_base = false, $skip_inactive = true ) {
[913] Fix | Delete
global $wp_registered_widgets;
[914] Fix | Delete
[915] Fix | Delete
$sidebars_widgets = wp_get_sidebars_widgets();
[916] Fix | Delete
[917] Fix | Delete
if ( is_array( $sidebars_widgets ) ) {
[918] Fix | Delete
foreach ( $sidebars_widgets as $sidebar => $widgets ) {
[919] Fix | Delete
if ( $skip_inactive && ( 'wp_inactive_widgets' === $sidebar || str_starts_with( $sidebar, 'orphaned_widgets' ) ) ) {
[920] Fix | Delete
continue;
[921] Fix | Delete
}
[922] Fix | Delete
[923] Fix | Delete
if ( is_array( $widgets ) ) {
[924] Fix | Delete
foreach ( $widgets as $widget ) {
[925] Fix | Delete
if ( ( $callback && isset( $wp_registered_widgets[ $widget ]['callback'] ) && $wp_registered_widgets[ $widget ]['callback'] === $callback ) || ( $id_base && _get_widget_id_base( $widget ) === $id_base ) ) {
[926] Fix | Delete
if ( ! $widget_id || $widget_id === $wp_registered_widgets[ $widget ]['id'] ) {
[927] Fix | Delete
return $sidebar;
[928] Fix | Delete
}
[929] Fix | Delete
}
[930] Fix | Delete
}
[931] Fix | Delete
}
[932] Fix | Delete
}
[933] Fix | Delete
}
[934] Fix | Delete
return false;
[935] Fix | Delete
}
[936] Fix | Delete
[937] Fix | Delete
/**
[938] Fix | Delete
* Determines whether the dynamic sidebar is enabled and used by the theme.
[939] Fix | Delete
*
[940] Fix | Delete
* For more information on this and similar theme functions, check out
[941] Fix | Delete
* the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
[942] Fix | Delete
* Conditional Tags} article in the Theme Developer Handbook.
[943] Fix | Delete
*
[944] Fix | Delete
* @since 2.2.0
[945] Fix | Delete
*
[946] Fix | Delete
* @global array $wp_registered_widgets The registered widgets.
[947] Fix | Delete
* @global array $wp_registered_sidebars The registered sidebars.
[948] Fix | Delete
*
[949] Fix | Delete
* @return bool True if using widgets, false otherwise.
[950] Fix | Delete
*/
[951] Fix | Delete
function is_dynamic_sidebar() {
[952] Fix | Delete
global $wp_registered_widgets, $wp_registered_sidebars;
[953] Fix | Delete
[954] Fix | Delete
$sidebars_widgets = get_option( 'sidebars_widgets' );
[955] Fix | Delete
[956] Fix | Delete
foreach ( (array) $wp_registered_sidebars as $index => $sidebar ) {
[957] Fix | Delete
if ( ! empty( $sidebars_widgets[ $index ] ) ) {
[958] Fix | Delete
foreach ( (array) $sidebars_widgets[ $index ] as $widget ) {
[959] Fix | Delete
if ( array_key_exists( $widget, $wp_registered_widgets ) ) {
[960] Fix | Delete
return true;
[961] Fix | Delete
}
[962] Fix | Delete
}
[963] Fix | Delete
}
[964] Fix | Delete
}
[965] Fix | Delete
[966] Fix | Delete
return false;
[967] Fix | Delete
}
[968] Fix | Delete
[969] Fix | Delete
/**
[970] Fix | Delete
* Determines whether a sidebar contains widgets.
[971] Fix | Delete
*
[972] Fix | Delete
* For more information on this and similar theme functions, check out
[973] Fix | Delete
* the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
[974] Fix | Delete
* Conditional Tags} article in the Theme Developer Handbook.
[975] Fix | Delete
*
[976] Fix | Delete
* @since 2.8.0
[977] Fix | Delete
*
[978] Fix | Delete
* @param string|int $index Sidebar name, id or number to check.
[979] Fix | Delete
* @return bool True if the sidebar has widgets, false otherwise.
[980] Fix | Delete
*/
[981] Fix | Delete
function is_active_sidebar( $index ) {
[982] Fix | Delete
$index = ( is_int( $index ) ) ? "sidebar-$index" : sanitize_title( $index );
[983] Fix | Delete
$sidebars_widgets = wp_get_sidebars_widgets();
[984] Fix | Delete
$is_active_sidebar = ! empty( $sidebars_widgets[ $index ] );
[985] Fix | Delete
[986] Fix | Delete
/**
[987] Fix | Delete
* Filters whether a dynamic sidebar is considered "active".
[988] Fix | Delete
*
[989] Fix | Delete
* @since 3.9.0
[990] Fix | Delete
*
[991] Fix | Delete
* @param bool $is_active_sidebar Whether or not the sidebar should be considered "active".
[992] Fix | Delete
* In other words, whether the sidebar contains any widgets.
[993] Fix | Delete
* @param int|string $index Index, name, or ID of the dynamic sidebar.
[994] Fix | Delete
*/
[995] Fix | Delete
return apply_filters( 'is_active_sidebar', $is_active_sidebar, $index );
[996] Fix | Delete
}
[997] Fix | Delete
[998] Fix | Delete
//
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function