Choosable Sequential RSS Feed
-
So the client wants an accordion-style news feed on their front page. I was hoping to use an RSS feed in each part of the accordion to display the newest post, then second newest post, etc.
So what I am needing is a way to choose how far back the RSS feed starts. For instance, i am wanting the second accordion section to start with the second newest post, the third with the third newest post, and so on.
Along with JShortcodes, the following is what I am using in functions and was hoping to add an
if
statement to make it work but I am a PHP noob and google isn’t helping./* * Re-usable RSS feed reader with shortcode */ if ( !function_exists('base_rss_feed') ) { function base_rss_feed($size = 5, $feed = 'https://www.ads-software.com/news/feed/', $date = false, $cache_time = 1800) { // Include SimplePie RSS parsing engine include_once ABSPATH . WPINC . '/feed.php'; // Set the cache time for SimplePie add_filter( 'wp_feed_cache_transient_lifetime', create_function( '$a', "return cache_time;" ) ); // Build the SimplePie object $rss = fetch_feed($feed); // Check for errors in the RSS XML if (!is_wp_error( $rss ) ) { // Set a limit for the number of items to parse $maxitems = $rss->get_item_quantity($size); $rss_items = $rss->get_items(0, $maxitems); // Store the total number of items found in the feed $i = 0; $total_entries = count($rss_items); // Output HTML $html = "<ul class='feedlist'>"; foreach ($rss_items as $item) { $i++; // Add a class of "last" to the last item in the list if( $total_entries == $i ) { $last = " class='last'"; } else { $last = ""; } // Store the data we need from the feed $title = $item->get_title(); $link = $item->get_permalink(); $desc = $item->get_description(); $date_posted = $item->get_date('F j, Y'); // Output $html .= "<li id='post-$'$last>"; $html .= "<h3><a href='$link'>$title::</a></h3>"; if( $date == true ) $html .= "<span class='date'>$date_posted</span>"; $html .= "<div class='rss-entry'>$desc</div>"; $html .= "</li>"; } $html .= "</ul>"; } else { $html = "An error occurred while parsing your RSS feed. Check that it's a valid XML file."; } return $html; } } /** Define [rss] shortcode */ if( function_exists('base_rss_feed') && !function_exists('base_rss_shortcode') ) { function base_rss_shortcode($atts) { extract(shortcode_atts(array( 'size' => '5', 'feed' => 'https://www.andrewemauney.com/doublesecret/?feed=rss', 'date' => false, ), $atts)); $content = base_rss_feed($size, $feed, $date); return $content; } add_shortcode("rss", "base_rss_shortcode"); }
- The topic ‘Choosable Sequential RSS Feed’ is closed to new replies.