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
unset( $old_sidebars_widgets[ $new_sidebar ] );
[1500] Fix | Delete
}
[1501] Fix | Delete
}
[1502] Fix | Delete
[1503] Fix | Delete
// Remove orphaned widgets, we're only interested in previously active sidebars.
[1504] Fix | Delete
foreach ( $old_sidebars_widgets as $sidebar => $widgets ) {
[1505] Fix | Delete
if ( str_starts_with( $sidebar, 'orphaned_widgets' ) ) {
[1506] Fix | Delete
unset( $old_sidebars_widgets[ $sidebar ] );
[1507] Fix | Delete
}
[1508] Fix | Delete
}
[1509] Fix | Delete
[1510] Fix | Delete
$old_sidebars_widgets = _wp_remove_unregistered_widgets( $old_sidebars_widgets );
[1511] Fix | Delete
[1512] Fix | Delete
if ( ! empty( $old_sidebars_widgets ) ) {
[1513] Fix | Delete
[1514] Fix | Delete
// Go through each remaining sidebar...
[1515] Fix | Delete
foreach ( $old_sidebars_widgets as $old_sidebar => $old_widgets ) {
[1516] Fix | Delete
[1517] Fix | Delete
// ...and check every new sidebar...
[1518] Fix | Delete
foreach ( $new_sidebars_widgets as $new_sidebar => $new_widgets ) {
[1519] Fix | Delete
[1520] Fix | Delete
// ...for every widget we're trying to revive.
[1521] Fix | Delete
foreach ( $old_widgets as $key => $widget_id ) {
[1522] Fix | Delete
$active_key = array_search( $widget_id, $new_widgets, true );
[1523] Fix | Delete
[1524] Fix | Delete
// If the widget is used elsewhere...
[1525] Fix | Delete
if ( false !== $active_key ) {
[1526] Fix | Delete
[1527] Fix | Delete
// ...and that elsewhere is inactive widgets...
[1528] Fix | Delete
if ( 'wp_inactive_widgets' === $new_sidebar ) {
[1529] Fix | Delete
[1530] Fix | Delete
// ...remove it from there and keep the active version...
[1531] Fix | Delete
unset( $new_sidebars_widgets['wp_inactive_widgets'][ $active_key ] );
[1532] Fix | Delete
} else {
[1533] Fix | Delete
[1534] Fix | Delete
// ...otherwise remove it from the old sidebar and keep it in the new one.
[1535] Fix | Delete
unset( $old_sidebars_widgets[ $old_sidebar ][ $key ] );
[1536] Fix | Delete
}
[1537] Fix | Delete
} // End if ( $active_key ).
[1538] Fix | Delete
} // End foreach ( $old_widgets as $key => $widget_id ).
[1539] Fix | Delete
} // End foreach ( $new_sidebars_widgets as $new_sidebar => $new_widgets ).
[1540] Fix | Delete
} // End foreach ( $old_sidebars_widgets as $old_sidebar => $old_widgets ).
[1541] Fix | Delete
} // End if ( ! empty( $old_sidebars_widgets ) ).
[1542] Fix | Delete
[1543] Fix | Delete
// Restore widget settings from when theme was previously active.
[1544] Fix | Delete
$new_sidebars_widgets = array_merge( $new_sidebars_widgets, $old_sidebars_widgets );
[1545] Fix | Delete
}
[1546] Fix | Delete
[1547] Fix | Delete
return $new_sidebars_widgets;
[1548] Fix | Delete
}
[1549] Fix | Delete
[1550] Fix | Delete
/**
[1551] Fix | Delete
* Compares a list of sidebars with their widgets against an allowed list.
[1552] Fix | Delete
*
[1553] Fix | Delete
* @since 4.9.0
[1554] Fix | Delete
*
[1555] Fix | Delete
* @global array $wp_registered_widgets The registered widgets.
[1556] Fix | Delete
*
[1557] Fix | Delete
* @param array $sidebars_widgets List of sidebars and their widget instance IDs.
[1558] Fix | Delete
* @param array $allowed_widget_ids Optional. List of widget IDs to compare against. Default: Registered widgets.
[1559] Fix | Delete
* @return array Sidebars with allowed widgets.
[1560] Fix | Delete
*/
[1561] Fix | Delete
function _wp_remove_unregistered_widgets( $sidebars_widgets, $allowed_widget_ids = array() ) {
[1562] Fix | Delete
if ( empty( $allowed_widget_ids ) ) {
[1563] Fix | Delete
$allowed_widget_ids = array_keys( $GLOBALS['wp_registered_widgets'] );
[1564] Fix | Delete
}
[1565] Fix | Delete
[1566] Fix | Delete
foreach ( $sidebars_widgets as $sidebar => $widgets ) {
[1567] Fix | Delete
if ( is_array( $widgets ) ) {
[1568] Fix | Delete
$sidebars_widgets[ $sidebar ] = array_intersect( $widgets, $allowed_widget_ids );
[1569] Fix | Delete
}
[1570] Fix | Delete
}
[1571] Fix | Delete
[1572] Fix | Delete
return $sidebars_widgets;
[1573] Fix | Delete
}
[1574] Fix | Delete
[1575] Fix | Delete
/**
[1576] Fix | Delete
* Display the RSS entries in a list.
[1577] Fix | Delete
*
[1578] Fix | Delete
* @since 2.5.0
[1579] Fix | Delete
*
[1580] Fix | Delete
* @param string|array|object $rss RSS url.
[1581] Fix | Delete
* @param array $args Widget arguments.
[1582] Fix | Delete
*/
[1583] Fix | Delete
function wp_widget_rss_output( $rss, $args = array() ) {
[1584] Fix | Delete
if ( is_string( $rss ) ) {
[1585] Fix | Delete
$rss = fetch_feed( $rss );
[1586] Fix | Delete
} elseif ( is_array( $rss ) && isset( $rss['url'] ) ) {
[1587] Fix | Delete
$args = $rss;
[1588] Fix | Delete
$rss = fetch_feed( $rss['url'] );
[1589] Fix | Delete
} elseif ( ! is_object( $rss ) ) {
[1590] Fix | Delete
return;
[1591] Fix | Delete
}
[1592] Fix | Delete
[1593] Fix | Delete
if ( is_wp_error( $rss ) ) {
[1594] Fix | Delete
if ( is_admin() || current_user_can( 'manage_options' ) ) {
[1595] Fix | Delete
echo '<p><strong>' . __( 'RSS Error:' ) . '</strong> ' . esc_html( $rss->get_error_message() ) . '</p>';
[1596] Fix | Delete
}
[1597] Fix | Delete
return;
[1598] Fix | Delete
}
[1599] Fix | Delete
[1600] Fix | Delete
$default_args = array(
[1601] Fix | Delete
'show_author' => 0,
[1602] Fix | Delete
'show_date' => 0,
[1603] Fix | Delete
'show_summary' => 0,
[1604] Fix | Delete
'items' => 0,
[1605] Fix | Delete
);
[1606] Fix | Delete
$args = wp_parse_args( $args, $default_args );
[1607] Fix | Delete
[1608] Fix | Delete
$items = (int) $args['items'];
[1609] Fix | Delete
if ( $items < 1 || 20 < $items ) {
[1610] Fix | Delete
$items = 10;
[1611] Fix | Delete
}
[1612] Fix | Delete
$show_summary = (int) $args['show_summary'];
[1613] Fix | Delete
$show_author = (int) $args['show_author'];
[1614] Fix | Delete
$show_date = (int) $args['show_date'];
[1615] Fix | Delete
[1616] Fix | Delete
if ( ! $rss->get_item_quantity() ) {
[1617] Fix | Delete
echo '<ul><li>' . __( 'An error has occurred, which probably means the feed is down. Try again later.' ) . '</li></ul>';
[1618] Fix | Delete
$rss->__destruct();
[1619] Fix | Delete
unset( $rss );
[1620] Fix | Delete
return;
[1621] Fix | Delete
}
[1622] Fix | Delete
[1623] Fix | Delete
echo '<ul>';
[1624] Fix | Delete
foreach ( $rss->get_items( 0, $items ) as $item ) {
[1625] Fix | Delete
$link = $item->get_link();
[1626] Fix | Delete
while ( ! empty( $link ) && stristr( $link, 'http' ) !== $link ) {
[1627] Fix | Delete
$link = substr( $link, 1 );
[1628] Fix | Delete
}
[1629] Fix | Delete
$link = esc_url( strip_tags( $link ) );
[1630] Fix | Delete
[1631] Fix | Delete
$title = esc_html( trim( strip_tags( $item->get_title() ) ) );
[1632] Fix | Delete
if ( empty( $title ) ) {
[1633] Fix | Delete
$title = __( 'Untitled' );
[1634] Fix | Delete
}
[1635] Fix | Delete
[1636] Fix | Delete
$desc = html_entity_decode( $item->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) );
[1637] Fix | Delete
$desc = esc_attr( wp_trim_words( $desc, 55, ' [&hellip;]' ) );
[1638] Fix | Delete
[1639] Fix | Delete
$summary = '';
[1640] Fix | Delete
if ( $show_summary ) {
[1641] Fix | Delete
$summary = $desc;
[1642] Fix | Delete
[1643] Fix | Delete
// Change existing [...] to [&hellip;].
[1644] Fix | Delete
if ( str_ends_with( $summary, '[...]' ) ) {
[1645] Fix | Delete
$summary = substr( $summary, 0, -5 ) . '[&hellip;]';
[1646] Fix | Delete
}
[1647] Fix | Delete
[1648] Fix | Delete
$summary = '<div class="rssSummary">' . esc_html( $summary ) . '</div>';
[1649] Fix | Delete
}
[1650] Fix | Delete
[1651] Fix | Delete
$date = '';
[1652] Fix | Delete
if ( $show_date ) {
[1653] Fix | Delete
$date = $item->get_date( 'U' );
[1654] Fix | Delete
[1655] Fix | Delete
if ( $date ) {
[1656] Fix | Delete
$date = ' <span class="rss-date">' . date_i18n( get_option( 'date_format' ), $date ) . '</span>';
[1657] Fix | Delete
}
[1658] Fix | Delete
}
[1659] Fix | Delete
[1660] Fix | Delete
$author = '';
[1661] Fix | Delete
if ( $show_author ) {
[1662] Fix | Delete
$author = $item->get_author();
[1663] Fix | Delete
if ( is_object( $author ) ) {
[1664] Fix | Delete
$author = $author->get_name();
[1665] Fix | Delete
$author = ' <cite>' . esc_html( strip_tags( $author ) ) . '</cite>';
[1666] Fix | Delete
}
[1667] Fix | Delete
}
[1668] Fix | Delete
[1669] Fix | Delete
if ( '' === $link ) {
[1670] Fix | Delete
echo "<li>$title{$date}{$summary}{$author}</li>";
[1671] Fix | Delete
} elseif ( $show_summary ) {
[1672] Fix | Delete
echo "<li><a class='rsswidget' href='$link'>$title</a>{$date}{$summary}{$author}</li>";
[1673] Fix | Delete
} else {
[1674] Fix | Delete
echo "<li><a class='rsswidget' href='$link'>$title</a>{$date}{$author}</li>";
[1675] Fix | Delete
}
[1676] Fix | Delete
}
[1677] Fix | Delete
echo '</ul>';
[1678] Fix | Delete
$rss->__destruct();
[1679] Fix | Delete
unset( $rss );
[1680] Fix | Delete
}
[1681] Fix | Delete
[1682] Fix | Delete
/**
[1683] Fix | Delete
* Display RSS widget options form.
[1684] Fix | Delete
*
[1685] Fix | Delete
* The options for what fields are displayed for the RSS form are all booleans
[1686] Fix | Delete
* and are as follows: 'url', 'title', 'items', 'show_summary', 'show_author',
[1687] Fix | Delete
* 'show_date'.
[1688] Fix | Delete
*
[1689] Fix | Delete
* @since 2.5.0
[1690] Fix | Delete
*
[1691] Fix | Delete
* @param array|string $args Values for input fields.
[1692] Fix | Delete
* @param array $inputs Override default display options.
[1693] Fix | Delete
*/
[1694] Fix | Delete
function wp_widget_rss_form( $args, $inputs = null ) {
[1695] Fix | Delete
$default_inputs = array(
[1696] Fix | Delete
'url' => true,
[1697] Fix | Delete
'title' => true,
[1698] Fix | Delete
'items' => true,
[1699] Fix | Delete
'show_summary' => true,
[1700] Fix | Delete
'show_author' => true,
[1701] Fix | Delete
'show_date' => true,
[1702] Fix | Delete
);
[1703] Fix | Delete
$inputs = wp_parse_args( $inputs, $default_inputs );
[1704] Fix | Delete
[1705] Fix | Delete
$args['title'] = isset( $args['title'] ) ? $args['title'] : '';
[1706] Fix | Delete
$args['url'] = isset( $args['url'] ) ? $args['url'] : '';
[1707] Fix | Delete
$args['items'] = isset( $args['items'] ) ? (int) $args['items'] : 0;
[1708] Fix | Delete
[1709] Fix | Delete
if ( $args['items'] < 1 || 20 < $args['items'] ) {
[1710] Fix | Delete
$args['items'] = 10;
[1711] Fix | Delete
}
[1712] Fix | Delete
[1713] Fix | Delete
$args['show_summary'] = isset( $args['show_summary'] ) ? (int) $args['show_summary'] : (int) $inputs['show_summary'];
[1714] Fix | Delete
$args['show_author'] = isset( $args['show_author'] ) ? (int) $args['show_author'] : (int) $inputs['show_author'];
[1715] Fix | Delete
$args['show_date'] = isset( $args['show_date'] ) ? (int) $args['show_date'] : (int) $inputs['show_date'];
[1716] Fix | Delete
[1717] Fix | Delete
if ( ! empty( $args['error'] ) ) {
[1718] Fix | Delete
echo '<p class="widget-error"><strong>' . __( 'RSS Error:' ) . '</strong> ' . esc_html( $args['error'] ) . '</p>';
[1719] Fix | Delete
}
[1720] Fix | Delete
[1721] Fix | Delete
$esc_number = esc_attr( $args['number'] );
[1722] Fix | Delete
if ( $inputs['url'] ) :
[1723] Fix | Delete
?>
[1724] Fix | Delete
<p><label for="rss-url-<?php echo $esc_number; ?>"><?php _e( 'Enter the RSS feed URL here:' ); ?></label>
[1725] Fix | Delete
<input class="widefat" id="rss-url-<?php echo $esc_number; ?>" name="widget-rss[<?php echo $esc_number; ?>][url]" type="text" value="<?php echo esc_url( $args['url'] ); ?>" /></p>
[1726] Fix | Delete
<?php endif; if ( $inputs['title'] ) : ?>
[1727] Fix | Delete
<p><label for="rss-title-<?php echo $esc_number; ?>"><?php _e( 'Give the feed a title (optional):' ); ?></label>
[1728] Fix | Delete
<input class="widefat" id="rss-title-<?php echo $esc_number; ?>" name="widget-rss[<?php echo $esc_number; ?>][title]" type="text" value="<?php echo esc_attr( $args['title'] ); ?>" /></p>
[1729] Fix | Delete
<?php endif; if ( $inputs['items'] ) : ?>
[1730] Fix | Delete
<p><label for="rss-items-<?php echo $esc_number; ?>"><?php _e( 'How many items would you like to display?' ); ?></label>
[1731] Fix | Delete
<select id="rss-items-<?php echo $esc_number; ?>" name="widget-rss[<?php echo $esc_number; ?>][items]">
[1732] Fix | Delete
<?php
[1733] Fix | Delete
for ( $i = 1; $i <= 20; ++$i ) {
[1734] Fix | Delete
echo "<option value='$i' " . selected( $args['items'], $i, false ) . ">$i</option>";
[1735] Fix | Delete
}
[1736] Fix | Delete
?>
[1737] Fix | Delete
</select></p>
[1738] Fix | Delete
<?php endif; if ( $inputs['show_summary'] || $inputs['show_author'] || $inputs['show_date'] ) : ?>
[1739] Fix | Delete
<p>
[1740] Fix | Delete
<?php if ( $inputs['show_summary'] ) : ?>
[1741] Fix | Delete
<input id="rss-show-summary-<?php echo $esc_number; ?>" name="widget-rss[<?php echo $esc_number; ?>][show_summary]" type="checkbox" value="1" <?php checked( $args['show_summary'] ); ?> />
[1742] Fix | Delete
<label for="rss-show-summary-<?php echo $esc_number; ?>"><?php _e( 'Display item content?' ); ?></label><br />
[1743] Fix | Delete
<?php endif; if ( $inputs['show_author'] ) : ?>
[1744] Fix | Delete
<input id="rss-show-author-<?php echo $esc_number; ?>" name="widget-rss[<?php echo $esc_number; ?>][show_author]" type="checkbox" value="1" <?php checked( $args['show_author'] ); ?> />
[1745] Fix | Delete
<label for="rss-show-author-<?php echo $esc_number; ?>"><?php _e( 'Display item author if available?' ); ?></label><br />
[1746] Fix | Delete
<?php endif; if ( $inputs['show_date'] ) : ?>
[1747] Fix | Delete
<input id="rss-show-date-<?php echo $esc_number; ?>" name="widget-rss[<?php echo $esc_number; ?>][show_date]" type="checkbox" value="1" <?php checked( $args['show_date'] ); ?>/>
[1748] Fix | Delete
<label for="rss-show-date-<?php echo $esc_number; ?>"><?php _e( 'Display item date?' ); ?></label><br />
[1749] Fix | Delete
<?php endif; ?>
[1750] Fix | Delete
</p>
[1751] Fix | Delete
<?php
[1752] Fix | Delete
endif; // End of display options.
[1753] Fix | Delete
foreach ( array_keys( $default_inputs ) as $input ) :
[1754] Fix | Delete
if ( 'hidden' === $inputs[ $input ] ) :
[1755] Fix | Delete
$id = str_replace( '_', '-', $input );
[1756] Fix | Delete
?>
[1757] Fix | Delete
<input type="hidden" id="rss-<?php echo esc_attr( $id ); ?>-<?php echo $esc_number; ?>" name="widget-rss[<?php echo $esc_number; ?>][<?php echo esc_attr( $input ); ?>]" value="<?php echo esc_attr( $args[ $input ] ); ?>" />
[1758] Fix | Delete
<?php
[1759] Fix | Delete
endif;
[1760] Fix | Delete
endforeach;
[1761] Fix | Delete
}
[1762] Fix | Delete
[1763] Fix | Delete
/**
[1764] Fix | Delete
* Process RSS feed widget data and optionally retrieve feed items.
[1765] Fix | Delete
*
[1766] Fix | Delete
* The feed widget can not have more than 20 items or it will reset back to the
[1767] Fix | Delete
* default, which is 10.
[1768] Fix | Delete
*
[1769] Fix | Delete
* The resulting array has the feed title, feed url, feed link (from channel),
[1770] Fix | Delete
* feed items, error (if any), and whether to show summary, author, and date.
[1771] Fix | Delete
* All respectively in the order of the array elements.
[1772] Fix | Delete
*
[1773] Fix | Delete
* @since 2.5.0
[1774] Fix | Delete
*
[1775] Fix | Delete
* @param array $widget_rss RSS widget feed data. Expects unescaped data.
[1776] Fix | Delete
* @param bool $check_feed Optional. Whether to check feed for errors. Default true.
[1777] Fix | Delete
* @return array
[1778] Fix | Delete
*/
[1779] Fix | Delete
function wp_widget_rss_process( $widget_rss, $check_feed = true ) {
[1780] Fix | Delete
$items = (int) $widget_rss['items'];
[1781] Fix | Delete
if ( $items < 1 || 20 < $items ) {
[1782] Fix | Delete
$items = 10;
[1783] Fix | Delete
}
[1784] Fix | Delete
$url = sanitize_url( strip_tags( $widget_rss['url'] ) );
[1785] Fix | Delete
$title = isset( $widget_rss['title'] ) ? trim( strip_tags( $widget_rss['title'] ) ) : '';
[1786] Fix | Delete
$show_summary = isset( $widget_rss['show_summary'] ) ? (int) $widget_rss['show_summary'] : 0;
[1787] Fix | Delete
$show_author = isset( $widget_rss['show_author'] ) ? (int) $widget_rss['show_author'] : 0;
[1788] Fix | Delete
$show_date = isset( $widget_rss['show_date'] ) ? (int) $widget_rss['show_date'] : 0;
[1789] Fix | Delete
$error = false;
[1790] Fix | Delete
$link = '';
[1791] Fix | Delete
[1792] Fix | Delete
if ( $check_feed ) {
[1793] Fix | Delete
$rss = fetch_feed( $url );
[1794] Fix | Delete
[1795] Fix | Delete
if ( is_wp_error( $rss ) ) {
[1796] Fix | Delete
$error = $rss->get_error_message();
[1797] Fix | Delete
} else {
[1798] Fix | Delete
$link = esc_url( strip_tags( $rss->get_permalink() ) );
[1799] Fix | Delete
while ( stristr( $link, 'http' ) !== $link ) {
[1800] Fix | Delete
$link = substr( $link, 1 );
[1801] Fix | Delete
}
[1802] Fix | Delete
[1803] Fix | Delete
$rss->__destruct();
[1804] Fix | Delete
unset( $rss );
[1805] Fix | Delete
}
[1806] Fix | Delete
}
[1807] Fix | Delete
[1808] Fix | Delete
return compact( 'title', 'url', 'link', 'items', 'error', 'show_summary', 'show_author', 'show_date' );
[1809] Fix | Delete
}
[1810] Fix | Delete
[1811] Fix | Delete
/**
[1812] Fix | Delete
* Registers all of the default WordPress widgets on startup.
[1813] Fix | Delete
*
[1814] Fix | Delete
* Calls {@see 'widgets_init'} action after all of the WordPress widgets have been registered.
[1815] Fix | Delete
*
[1816] Fix | Delete
* @since 2.2.0
[1817] Fix | Delete
*/
[1818] Fix | Delete
function wp_widgets_init() {
[1819] Fix | Delete
if ( ! is_blog_installed() ) {
[1820] Fix | Delete
return;
[1821] Fix | Delete
}
[1822] Fix | Delete
[1823] Fix | Delete
register_widget( 'WP_Widget_Pages' );
[1824] Fix | Delete
[1825] Fix | Delete
register_widget( 'WP_Widget_Calendar' );
[1826] Fix | Delete
[1827] Fix | Delete
register_widget( 'WP_Widget_Archives' );
[1828] Fix | Delete
[1829] Fix | Delete
if ( get_option( 'link_manager_enabled' ) ) {
[1830] Fix | Delete
register_widget( 'WP_Widget_Links' );
[1831] Fix | Delete
}
[1832] Fix | Delete
[1833] Fix | Delete
register_widget( 'WP_Widget_Media_Audio' );
[1834] Fix | Delete
[1835] Fix | Delete
register_widget( 'WP_Widget_Media_Image' );
[1836] Fix | Delete
[1837] Fix | Delete
register_widget( 'WP_Widget_Media_Gallery' );
[1838] Fix | Delete
[1839] Fix | Delete
register_widget( 'WP_Widget_Media_Video' );
[1840] Fix | Delete
[1841] Fix | Delete
register_widget( 'WP_Widget_Meta' );
[1842] Fix | Delete
[1843] Fix | Delete
register_widget( 'WP_Widget_Search' );
[1844] Fix | Delete
[1845] Fix | Delete
register_widget( 'WP_Widget_Text' );
[1846] Fix | Delete
[1847] Fix | Delete
register_widget( 'WP_Widget_Categories' );
[1848] Fix | Delete
[1849] Fix | Delete
register_widget( 'WP_Widget_Recent_Posts' );
[1850] Fix | Delete
[1851] Fix | Delete
register_widget( 'WP_Widget_Recent_Comments' );
[1852] Fix | Delete
[1853] Fix | Delete
register_widget( 'WP_Widget_RSS' );
[1854] Fix | Delete
[1855] Fix | Delete
register_widget( 'WP_Widget_Tag_Cloud' );
[1856] Fix | Delete
[1857] Fix | Delete
register_widget( 'WP_Nav_Menu_Widget' );
[1858] Fix | Delete
[1859] Fix | Delete
register_widget( 'WP_Widget_Custom_HTML' );
[1860] Fix | Delete
[1861] Fix | Delete
register_widget( 'WP_Widget_Block' );
[1862] Fix | Delete
[1863] Fix | Delete
/**
[1864] Fix | Delete
* Fires after all default WordPress widgets have been registered.
[1865] Fix | Delete
*
[1866] Fix | Delete
* @since 2.2.0
[1867] Fix | Delete
*/
[1868] Fix | Delete
do_action( 'widgets_init' );
[1869] Fix | Delete
}
[1870] Fix | Delete
[1871] Fix | Delete
/**
[1872] Fix | Delete
* Enables the widgets block editor. This is hooked into 'after_setup_theme' so
[1873] Fix | Delete
* that the block editor is enabled by default but can be disabled by themes.
[1874] Fix | Delete
*
[1875] Fix | Delete
* @since 5.8.0
[1876] Fix | Delete
*
[1877] Fix | Delete
* @access private
[1878] Fix | Delete
*/
[1879] Fix | Delete
function wp_setup_widgets_block_editor() {
[1880] Fix | Delete
add_theme_support( 'widgets-block-editor' );
[1881] Fix | Delete
}
[1882] Fix | Delete
[1883] Fix | Delete
/**
[1884] Fix | Delete
* Whether or not to use the block editor to manage widgets. Defaults to true
[1885] Fix | Delete
* unless a theme has removed support for widgets-block-editor or a plugin has
[1886] Fix | Delete
* filtered the return value of this function.
[1887] Fix | Delete
*
[1888] Fix | Delete
* @since 5.8.0
[1889] Fix | Delete
*
[1890] Fix | Delete
* @return bool Whether to use the block editor to manage widgets.
[1891] Fix | Delete
*/
[1892] Fix | Delete
function wp_use_widgets_block_editor() {
[1893] Fix | Delete
/**
[1894] Fix | Delete
* Filters whether to use the block editor to manage widgets.
[1895] Fix | Delete
*
[1896] Fix | Delete
* @since 5.8.0
[1897] Fix | Delete
*
[1898] Fix | Delete
* @param bool $use_widgets_block_editor Whether to use the block editor to manage widgets.
[1899] Fix | Delete
*/
[1900] Fix | Delete
return apply_filters(
[1901] Fix | Delete
'use_widgets_block_editor',
[1902] Fix | Delete
get_theme_support( 'widgets-block-editor' )
[1903] Fix | Delete
);
[1904] Fix | Delete
}
[1905] Fix | Delete
[1906] Fix | Delete
/**
[1907] Fix | Delete
* Converts a widget ID into its id_base and number components.
[1908] Fix | Delete
*
[1909] Fix | Delete
* @since 5.8.0
[1910] Fix | Delete
*
[1911] Fix | Delete
* @param string $id Widget ID.
[1912] Fix | Delete
* @return array Array containing a widget's id_base and number components.
[1913] Fix | Delete
*/
[1914] Fix | Delete
function wp_parse_widget_id( $id ) {
[1915] Fix | Delete
$parsed = array();
[1916] Fix | Delete
[1917] Fix | Delete
if ( preg_match( '/^(.+)-(\d+)$/', $id, $matches ) ) {
[1918] Fix | Delete
$parsed['id_base'] = $matches[1];
[1919] Fix | Delete
$parsed['number'] = (int) $matches[2];
[1920] Fix | Delete
} else {
[1921] Fix | Delete
// Likely an old single widget.
[1922] Fix | Delete
$parsed['id_base'] = $id;
[1923] Fix | Delete
}
[1924] Fix | Delete
[1925] Fix | Delete
return $parsed;
[1926] Fix | Delete
}
[1927] Fix | Delete
[1928] Fix | Delete
/**
[1929] Fix | Delete
* Finds the sidebar that a given widget belongs to.
[1930] Fix | Delete
*
[1931] Fix | Delete
* @since 5.8.0
[1932] Fix | Delete
*
[1933] Fix | Delete
* @param string $widget_id The widget ID to look for.
[1934] Fix | Delete
* @return string|null The found sidebar's ID, or null if it was not found.
[1935] Fix | Delete
*/
[1936] Fix | Delete
function wp_find_widgets_sidebar( $widget_id ) {
[1937] Fix | Delete
foreach ( wp_get_sidebars_widgets() as $sidebar_id => $widget_ids ) {
[1938] Fix | Delete
foreach ( $widget_ids as $maybe_widget_id ) {
[1939] Fix | Delete
if ( $maybe_widget_id === $widget_id ) {
[1940] Fix | Delete
return (string) $sidebar_id;
[1941] Fix | Delete
}
[1942] Fix | Delete
}
[1943] Fix | Delete
}
[1944] Fix | Delete
[1945] Fix | Delete
return null;
[1946] Fix | Delete
}
[1947] Fix | Delete
[1948] Fix | Delete
/**
[1949] Fix | Delete
* Assigns a widget to the given sidebar.
[1950] Fix | Delete
*
[1951] Fix | Delete
* @since 5.8.0
[1952] Fix | Delete
*
[1953] Fix | Delete
* @param string $widget_id The widget ID to assign.
[1954] Fix | Delete
* @param string $sidebar_id The sidebar ID to assign to. If empty, the widget won't be added to any sidebar.
[1955] Fix | Delete
*/
[1956] Fix | Delete
function wp_assign_widget_to_sidebar( $widget_id, $sidebar_id ) {
[1957] Fix | Delete
$sidebars = wp_get_sidebars_widgets();
[1958] Fix | Delete
[1959] Fix | Delete
foreach ( $sidebars as $maybe_sidebar_id => $widgets ) {
[1960] Fix | Delete
foreach ( $widgets as $i => $maybe_widget_id ) {
[1961] Fix | Delete
if ( $widget_id === $maybe_widget_id && $sidebar_id !== $maybe_sidebar_id ) {
[1962] Fix | Delete
unset( $sidebars[ $maybe_sidebar_id ][ $i ] );
[1963] Fix | Delete
// We could technically break 2 here, but continue looping in case the ID is duplicated.
[1964] Fix | Delete
continue 2;
[1965] Fix | Delete
}
[1966] Fix | Delete
}
[1967] Fix | Delete
}
[1968] Fix | Delete
[1969] Fix | Delete
if ( $sidebar_id ) {
[1970] Fix | Delete
$sidebars[ $sidebar_id ][] = $widget_id;
[1971] Fix | Delete
}
[1972] Fix | Delete
[1973] Fix | Delete
wp_set_sidebars_widgets( $sidebars );
[1974] Fix | Delete
}
[1975] Fix | Delete
[1976] Fix | Delete
/**
[1977] Fix | Delete
* Calls the render callback of a widget and returns the output.
[1978] Fix | Delete
*
[1979] Fix | Delete
* @since 5.8.0
[1980] Fix | Delete
*
[1981] Fix | Delete
* @global array $wp_registered_widgets The registered widgets.
[1982] Fix | Delete
* @global array $wp_registered_sidebars The registered sidebars.
[1983] Fix | Delete
*
[1984] Fix | Delete
* @param string $widget_id Widget ID.
[1985] Fix | Delete
* @param string $sidebar_id Sidebar ID.
[1986] Fix | Delete
* @return string
[1987] Fix | Delete
*/
[1988] Fix | Delete
function wp_render_widget( $widget_id, $sidebar_id ) {
[1989] Fix | Delete
global $wp_registered_widgets, $wp_registered_sidebars;
[1990] Fix | Delete
[1991] Fix | Delete
if ( ! isset( $wp_registered_widgets[ $widget_id ] ) ) {
[1992] Fix | Delete
return '';
[1993] Fix | Delete
}
[1994] Fix | Delete
[1995] Fix | Delete
if ( isset( $wp_registered_sidebars[ $sidebar_id ] ) ) {
[1996] Fix | Delete
$sidebar = $wp_registered_sidebars[ $sidebar_id ];
[1997] Fix | Delete
} elseif ( 'wp_inactive_widgets' === $sidebar_id ) {
[1998] Fix | Delete
$sidebar = array();
[1999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function