wp_dashboard_rss_control

The timeline below displays how wordpress function wp_dashboard_rss_control has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

/**
 * Sets up the RSS dashboard widget control and $args to be used as input to wp_widget_rss_form().
 *
 * Handles POST data from RSS-type widgets.
 *
 * @since 2.5.0
 *
 * @param string $widget_id
 * @param array  $form_inputs
 */
function wp_dashboard_rss_control($widget_id, $form_inputs = array())
{
    $widget_options = get_option('dashboard_widget_options');
    if (!$widget_options) {
        $widget_options = array();
    }
    if (!isset($widget_options[$widget_id])) {
        $widget_options[$widget_id] = array();
    }
    $number = 1;
    // Hack to use wp_widget_rss_form().
    $widget_options[$widget_id]['number'] = $number;
    if ('POST' === $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number])) {
        $_POST['widget-rss'][$number] = wp_unslash($_POST['widget-rss'][$number]);
        $widget_options[$widget_id] = wp_widget_rss_process($_POST['widget-rss'][$number]);
        $widget_options[$widget_id]['number'] = $number;
        // Title is optional. If black, fill it if possible.
        if (!$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title'])) {
            $rss = fetch_feed($widget_options[$widget_id]['url']);
            if (is_wp_error($rss)) {
                $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed'));
            } else {
                $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));
                $rss->__destruct();
                unset($rss);
            }
        }
        update_option('dashboard_widget_options', $widget_options);
        $locale = get_user_locale();
        $cache_key = 'dash_v2_' . md5($widget_id . '_' . $locale);
        delete_transient($cache_key);
    }
    wp_widget_rss_form($widget_options[$widget_id], $form_inputs);
}

WordPress Version: 5.5

/**
 * The RSS dashboard widget control.
 *
 * Sets up $args to be used as input to wp_widget_rss_form(). Handles POST data
 * from RSS-type widgets.
 *
 * @since 2.5.0
 *
 * @param string $widget_id
 * @param array  $form_inputs
 */
function wp_dashboard_rss_control($widget_id, $form_inputs = array())
{
    $widget_options = get_option('dashboard_widget_options');
    if (!$widget_options) {
        $widget_options = array();
    }
    if (!isset($widget_options[$widget_id])) {
        $widget_options[$widget_id] = array();
    }
    $number = 1;
    // Hack to use wp_widget_rss_form().
    $widget_options[$widget_id]['number'] = $number;
    if ('POST' === $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number])) {
        $_POST['widget-rss'][$number] = wp_unslash($_POST['widget-rss'][$number]);
        $widget_options[$widget_id] = wp_widget_rss_process($_POST['widget-rss'][$number]);
        $widget_options[$widget_id]['number'] = $number;
        // Title is optional. If black, fill it if possible.
        if (!$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title'])) {
            $rss = fetch_feed($widget_options[$widget_id]['url']);
            if (is_wp_error($rss)) {
                $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed'));
            } else {
                $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));
                $rss->__destruct();
                unset($rss);
            }
        }
        update_option('dashboard_widget_options', $widget_options);
        $locale = get_user_locale();
        $cache_key = 'dash_v2_' . md5($widget_id . '_' . $locale);
        delete_transient($cache_key);
    }
    wp_widget_rss_form($widget_options[$widget_id], $form_inputs);
}

WordPress Version: 5.4

/**
 * The RSS dashboard widget control.
 *
 * Sets up $args to be used as input to wp_widget_rss_form(). Handles POST data
 * from RSS-type widgets.
 *
 * @since 2.5.0
 *
 * @param string $widget_id
 * @param array $form_inputs
 */
function wp_dashboard_rss_control($widget_id, $form_inputs = array())
{
    $widget_options = get_option('dashboard_widget_options');
    if (!$widget_options) {
        $widget_options = array();
    }
    if (!isset($widget_options[$widget_id])) {
        $widget_options[$widget_id] = array();
    }
    $number = 1;
    // Hack to use wp_widget_rss_form().
    $widget_options[$widget_id]['number'] = $number;
    if ('POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number])) {
        $_POST['widget-rss'][$number] = wp_unslash($_POST['widget-rss'][$number]);
        $widget_options[$widget_id] = wp_widget_rss_process($_POST['widget-rss'][$number]);
        $widget_options[$widget_id]['number'] = $number;
        // Title is optional. If black, fill it if possible.
        if (!$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title'])) {
            $rss = fetch_feed($widget_options[$widget_id]['url']);
            if (is_wp_error($rss)) {
                $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed'));
            } else {
                $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));
                $rss->__destruct();
                unset($rss);
            }
        }
        update_option('dashboard_widget_options', $widget_options);
        $locale = get_user_locale();
        $cache_key = 'dash_v2_' . md5($widget_id . '_' . $locale);
        delete_transient($cache_key);
    }
    wp_widget_rss_form($widget_options[$widget_id], $form_inputs);
}

WordPress Version: 5.3

/**
 * The RSS dashboard widget control.
 *
 * Sets up $args to be used as input to wp_widget_rss_form(). Handles POST data
 * from RSS-type widgets.
 *
 * @since 2.5.0
 *
 * @param string $widget_id
 * @param array $form_inputs
 */
function wp_dashboard_rss_control($widget_id, $form_inputs = array())
{
    $widget_options = get_option('dashboard_widget_options');
    if (!$widget_options) {
        $widget_options = array();
    }
    if (!isset($widget_options[$widget_id])) {
        $widget_options[$widget_id] = array();
    }
    $number = 1;
    // Hack to use wp_widget_rss_form()
    $widget_options[$widget_id]['number'] = $number;
    if ('POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number])) {
        $_POST['widget-rss'][$number] = wp_unslash($_POST['widget-rss'][$number]);
        $widget_options[$widget_id] = wp_widget_rss_process($_POST['widget-rss'][$number]);
        $widget_options[$widget_id]['number'] = $number;
        // Title is optional. If black, fill it if possible.
        if (!$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title'])) {
            $rss = fetch_feed($widget_options[$widget_id]['url']);
            if (is_wp_error($rss)) {
                $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed'));
            } else {
                $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));
                $rss->__destruct();
                unset($rss);
            }
        }
        update_option('dashboard_widget_options', $widget_options);
        $locale = get_user_locale();
        $cache_key = 'dash_v2_' . md5($widget_id . '_' . $locale);
        delete_transient($cache_key);
    }
    wp_widget_rss_form($widget_options[$widget_id], $form_inputs);
}

WordPress Version: 4.8

/**
 * The RSS dashboard widget control.
 *
 * Sets up $args to be used as input to wp_widget_rss_form(). Handles POST data
 * from RSS-type widgets.
 *
 * @since 2.5.0
 *
 * @param string $widget_id
 * @param array $form_inputs
 */
function wp_dashboard_rss_control($widget_id, $form_inputs = array())
{
    if (!$widget_options = get_option('dashboard_widget_options')) {
        $widget_options = array();
    }
    if (!isset($widget_options[$widget_id])) {
        $widget_options[$widget_id] = array();
    }
    $number = 1;
    // Hack to use wp_widget_rss_form()
    $widget_options[$widget_id]['number'] = $number;
    if ('POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number])) {
        $_POST['widget-rss'][$number] = wp_unslash($_POST['widget-rss'][$number]);
        $widget_options[$widget_id] = wp_widget_rss_process($_POST['widget-rss'][$number]);
        $widget_options[$widget_id]['number'] = $number;
        // Title is optional. If black, fill it if possible.
        if (!$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title'])) {
            $rss = fetch_feed($widget_options[$widget_id]['url']);
            if (is_wp_error($rss)) {
                $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed'));
            } else {
                $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));
                $rss->__destruct();
                unset($rss);
            }
        }
        update_option('dashboard_widget_options', $widget_options);
        $locale = get_user_locale();
        $cache_key = 'dash_v2_' . md5($widget_id . '_' . $locale);
        delete_transient($cache_key);
    }
    wp_widget_rss_form($widget_options[$widget_id], $form_inputs);
}

WordPress Version: 4.0

/**
 * The RSS dashboard widget control.
 *
 * Sets up $args to be used as input to wp_widget_rss_form(). Handles POST data
 * from RSS-type widgets.
 *
 * @since 2.5.0
 *
 * @param string $widget_id
 * @param array $form_inputs
 */
function wp_dashboard_rss_control($widget_id, $form_inputs = array())
{
    if (!$widget_options = get_option('dashboard_widget_options')) {
        $widget_options = array();
    }
    if (!isset($widget_options[$widget_id])) {
        $widget_options[$widget_id] = array();
    }
    $number = 1;
    // Hack to use wp_widget_rss_form()
    $widget_options[$widget_id]['number'] = $number;
    if ('POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number])) {
        $_POST['widget-rss'][$number] = wp_unslash($_POST['widget-rss'][$number]);
        $widget_options[$widget_id] = wp_widget_rss_process($_POST['widget-rss'][$number]);
        $widget_options[$widget_id]['number'] = $number;
        // Title is optional. If black, fill it if possible.
        if (!$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title'])) {
            $rss = fetch_feed($widget_options[$widget_id]['url']);
            if (is_wp_error($rss)) {
                $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed'));
            } else {
                $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));
                $rss->__destruct();
                unset($rss);
            }
        }
        update_option('dashboard_widget_options', $widget_options);
        $cache_key = 'dash_' . md5($widget_id);
        delete_transient($cache_key);
    }
    wp_widget_rss_form($widget_options[$widget_id], $form_inputs);
}

WordPress Version: 3.7

/**
 * The RSS dashboard widget control.
 *
 * Sets up $args to be used as input to wp_widget_rss_form(). Handles POST data
 * from RSS-type widgets.
 *
 * @since 2.5.0
 *
 * @param string $widget_id
 * @param array $form_inputs
 */
function wp_dashboard_rss_control($widget_id, $form_inputs = array())
{
    if (!$widget_options = get_option('dashboard_widget_options')) {
        $widget_options = array();
    }
    if (!isset($widget_options[$widget_id])) {
        $widget_options[$widget_id] = array();
    }
    $number = 1;
    // Hack to use wp_widget_rss_form()
    $widget_options[$widget_id]['number'] = $number;
    if ('POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number])) {
        $_POST['widget-rss'][$number] = wp_unslash($_POST['widget-rss'][$number]);
        $widget_options[$widget_id] = wp_widget_rss_process($_POST['widget-rss'][$number]);
        $widget_options[$widget_id]['number'] = $number;
        // title is optional. If black, fill it if possible
        if (!$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title'])) {
            $rss = fetch_feed($widget_options[$widget_id]['url']);
            if (is_wp_error($rss)) {
                $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed'));
            } else {
                $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));
                $rss->__destruct();
                unset($rss);
            }
        }
        update_option('dashboard_widget_options', $widget_options);
        $cache_key = 'dash_' . md5($widget_id);
        delete_transient($cache_key);
    }
    wp_widget_rss_form($widget_options[$widget_id], $form_inputs);
}