get_items example


    /** * Helper for database conversion * * Converts a given {@see SimplePie} object into data to be stored * * @param SimplePie $data * @return array First item is the serialized data for storage, second item is the unique ID for this item */
    protected static function prepare_simplepie_object_for_cache($data)
    {
        $items = $data->get_items();
        $items_by_id = array();

        if (!empty($items))
        {
            foreach ($items as $item)
            {
                $items_by_id[$item->get_id()] = $item;
            }

            if (count($items_by_id) !== count($items))
            {
                
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;

        $items = $feed->get_items(0, 5);

        // Pick a random, non-installed plugin.         while ( true ) {
            // Abort this foreach loop iteration if there's no plugins left of this type.             if ( 0 === count($items) )
                continue 2;

            $item_key = array_rand($items);
            $item = $items[$item_key];

            list($link$frag) = explode( '#', $item->get_link() );

            
$show_author  = (int) $args['show_author'];
    $show_date    = (int) $args['show_date'];

    if ( ! $rss->get_item_quantity() ) {
        echo '<ul><li>' . __( 'An error has occurred, which probably means the feed is down. Try again later.' ) . '</li></ul>';
        $rss->__destruct();
        unset( $rss );
        return;
    }

    echo '<ul>';
    foreach ( $rss->get_items( 0, $items ) as $item ) {
        $link = $item->get_link();
        while ( ! empty( $link ) && stristr( $link, 'http' ) !== $link ) {
            $link = substr( $link, 1 );
        }
        $link = esc_url( strip_tags( $link ) );

        $title = esc_html( trim( strip_tags( $item->get_title() ) ) );
        if ( empty( $title ) ) {
            $title = __( 'Untitled' );
        }

        

    public function get_item_quantity($max = 0)
    {
        $max = (int) $max;
        $qty = count($this->get_items());
        if ($max === 0)
        {
            return $qty;
        }

        return ($qty > $max) ? $max : $qty;
    }

    /** * Get a single item from the feed * * This is better suited for {@link http://php.net/for for()} loops, whereas * {@see get_items()} is better suited for * {@link http://php.net/foreach foreach()} loops. * * @see get_item_quantity() * @since Beta 2 * @param int $key The item that you want to return. Remember that arrays begin with 0, not 1 * @return SimplePie_Item|null */
$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 = '';
    foreach ( $rss_items as $item ) {
        $title = esc_html( trim( strip_tags( $item->get_title() ) ) );
        if ( empty( $title ) ) {
            $title = __( '(no title)' );
        }
        $link = $item->get_link();
        $link = esc_url( $link );
        if ( $link ) {
            $title = "<a href='{$link}'>{$title}</a>";
        }
        
Home | Imprint | This part of the site doesn't use cookies.