bcreighton
Member
Posted 2 years ago #
Hi -
I'm trying to keep the html (including img tags) in my RSS feed. I have it set to full text in options. In the wp-rss2.php template I have this set:
<?php if ( strlen( $post->post_content ) > 0 ) : ?>
<description><![CDATA[<?php the_content_rss('(more...)', FALSE, '', 50, 0); ?>]]></description>
However... it still strips it out even though encode_html is set to 0.
Any ideas?
Thanks!
What version of WordPress are you running? In the current version (2.0.5), this is what those lines in wp-rss2.php look like:
<?php if ( strlen( $post->post_content ) > 0 ) : ?>
<content:encoded><![CDATA[<?php the_content('', 0, '') ?>]]></content:encoded>
There's no need of the_content_rss() here; having the post content display (through use of the_content()) inside the CDATA section protects it from XML parsers. So if you made the modification, there was no need to do so.
bcreighton
Member
Posted 2 years ago #
You're right - it does work with content:encoded. I have a bit of an issue using it because I'm pulling in the rss elsewhere using PHP 5's SimpleXML and the ":" in content:encoded is messing up the syntax.
echo $item->content:encoded;
Hmmm...
bcreighton
Member
Posted 2 years ago #
Figured it out! For those interested:
$rss = simplexml_load_file($url);
$content = $rss->channel->item->children( "http://purl.org/rss/1.0/modules/content/" );
foreach ($rss->channel->item as $item) {
echo $content->encoded;
}
This is close to what I'm looking for, but where do I put that snippit?
I'm more confused than I need to be right now...I'm sure.