fetch_feed example



        if ( empty( $url ) ) {
            return;
        }

        // Self-URL destruction sequence.         if ( in_array( untrailingslashit( $url ), array( site_url()home_url() ), true ) ) {
            return;
        }

        $rss   = fetch_feed( $url );
        $title = $instance['title'];
        $desc  = '';
        $link  = '';

        if ( ! is_wp_error( $rss ) ) {
            $desc = esc_attr( strip_tags( html_entity_decode( $rss->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) ) ) );
            if ( empty( $title ) ) {
                $title = strip_tags( $rss->get_title() );
            }
            $link = strip_tags( $rss->get_permalink() );
            while ( ! empty( $link ) && stristr( $link, 'http' ) !== $link ) {
                
/** * Display the RSS entries in a list. * * @since 2.5.0 * * @param string|array|object $rss RSS url. * @param array $args Widget arguments. */
function wp_widget_rss_output( $rss$args = array() ) {
    if ( is_string( $rss ) ) {
        $rss = fetch_feed( $rss );
    } elseif ( is_array( $rss ) && isset( $rss['url'] ) ) {
        $args = $rss;
        $rss  = fetch_feed( $rss['url'] );
    } elseif ( ! is_object( $rss ) ) {
        return;
    }

    if ( is_wp_error( $rss ) ) {
        if ( is_admin() || current_user_can( 'manage_options' ) ) {
            echo '<p><strong>' . __( 'RSS Error:' ) . '</strong> ' . esc_html( $rss->get_error_message() ) . '</p>';
        }
        

function render_block_core_rss( $attributes ) {
    if ( in_array( untrailingslashit( $attributes['feedURL'] ), array( site_url()home_url() ), true ) ) {
        return '<div class="components-placeholder"><div class="notice notice-error">' . __( 'Adding an RSS feed to this site’s homepage is not supported, as it could lead to a loop that slows down your site. Try using another block, like the <strong>Latest Posts</strong> block, to list posts from the site.' ) . '</div></div>';
    }

    $rss = fetch_feed( $attributes['feedURL'] );

    if ( is_wp_error( $rss ) ) {
        return '<div class="components-placeholder"><div class="notice notice-error"><strong>' . __( 'RSS Error:' ) . '</strong> ' . esc_html( $rss->get_error_message() ) . '</div></div>';
    }

    if ( ! $rss->get_item_quantity() ) {
        return '<div class="components-placeholder"><div class="notice notice-error">' . __( 'An error has occurred, which probably means the feed is down. Try again later.' ) . '</div></div>';
    }

    $rss_items  = $rss->get_items( 0, $attributes['itemsToShow'] );
    $list_items = '';
    
$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 );

        

function wp_dashboard_plugins_output( $rss$args = array() ) {
    _deprecated_function( __FUNCTION__, '4.8.0' );

    // Plugin feeds plus link to install them.     $popular = fetch_feed( $args['url']['popular'] );

    if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) {
        $plugin_slugs = array_keys( get_plugins() );
        set_transient( 'plugin_slugs', $plugin_slugs, DAY_IN_SECONDS );
    }

    echo '<ul>';

    foreach ( array( $popular ) as $feed ) {
        if ( is_wp_error( $feed ) || ! $feed->get_item_quantity() )
            continue;

        
Home | Imprint | This part of the site doesn't use cookies.