I'm going to restore my files to the default installation files from the 1.5.1 zip on one of my installations and use Dougal's diff as the fix and see if there's any difference.
more in a day or so.
I'm going to restore my files to the default installation files from the 1.5.1 zip on one of my installations and use Dougal's diff as the fix and see if there's any difference.
more in a day or so.
How did a bug as major as this make it through testing? :|
I applied Dougal's solution 24 hours ago and all is well w/RSS so far.
Very easy to put into effect, by the way.
yeah, actually...
so far both fixes seem to be identical in terms of results.
I didn't notice any 304 errors with my feeds, but I have applied the fix found on http://fernando.dubtribe.com/archives/2005/05/10/solution-to-wp151-rss-errors/
Everything seems fine except for category feeds.
I am using Magpie to display the RSS feed. When I parse the site's main feed, I have no problems. However, if I try to parse just one category from the site, I can only see one older post (there is more than 1 post in the category).
Here is the PHP I am using:
// Split the array to show complete first article
$items = array_slice($rss->items, 0, 1);
// Cycle through each item and echo
foreach ($items as $item )
{
echo '<h2><a href="'.$item['link'].'">'.$item['title'].'</a></h2>'.$item['content']['encoded'];
}
// Split the array to show list of next 4 article links
$items = array_slice($rss->items, 1, 4);
// Cycle through each item and echo
foreach ($items as $item )
{
echo '<ul><li><a href="'.$item['link'].'">'.$item['title'].'</a></li></ul>';
}
I am accessing the category feed in this manner:
// Fetch RSS feed
$rss = fetch_rss('http://www.mysite.com/index.php?feed=rss2&cat=3');
When I view the feed in the browser, I can see the other post.
Can anyone spot my trouble?
TIA!
JF ;)
I haven't read all of the threads to see if anyone has come up with a final solution, but here's mine:
In wp-blog-header.php replace
if ( ($client_last_modified && $client_etag) ?
((strtotime($client_last_modified) >= strtotime($wp_last_modified)) && ($client_etag == $wp_etag)) :
((strtotime($client_last_modified) >= strtotime($wp_last_modified)) || ($client_etag == $wp_etag)) )
with
$not_modified = $client_last_modified ? (strtotime($client_last_modified) >= strtotime($wp_last_modified)) : false;
$not_modified = ($not_modified && $client_etag) ? ($client_etag == $wp_etag) : false;
if ( $not_modified )
I've only just written it so I haven't done any real testing, but it seems to work.
Actually, the issue discussed in this thread was fixed in v1.5.1.1, which was released a few days ago.
Thanks! Looks like the 1.5.1.1 update solved my issue with category feeds.
JF ;)
This topic has been closed to new replies.