Jump to content

Wordpress RSS Hack


astromodder

Recommended Posts

I want to use wordpress for the news section on my site, here is how I have everything set up so far:

I have wordpress installed in a directory called wordpress

I have a script called rss2html (PHP) being used to convert the rss feed to html for the website.

However, my problem is that the descriptions are cut off so the full post in wordpress is not displayed nor are the line breaks displayed. Is there a way around this or a better way to go about doing this?

Link to comment
Share on other sites

If you know PHP well enough, you could edit the rss generator code to include the full post and not just the first X characters.

See I don't really know that much PHP, after using google, I have found that it is the wp-rss2.php file that generates it however I have no clue where to edit anything.

Link to comment
Share on other sites

Here is the contents of wp-rss2.php

<?php



if (empty($wp)) {

    require_once('wp-config.php');

    wp('feed=rss2');

}



header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true);

$more = 1;



?>

<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>



<!-- generator="wordpress/<?php bloginfo_rss('version') ?>" -->

<rss version="2.0" 

    xmlns:content="http://purl.org/rss/1.0/modules/content/"

    xmlns:wfw="http://wellformedweb.org/CommentAPI/"

    xmlns:dc="http://purl.org/dc/elements/1.1/"

    <?php do_action('rss2_ns'); ?>

>



<channel>

    <title><?php bloginfo_rss('name'); ?></title>

    <link><?php bloginfo_rss('url') ?></link>

    <description><?php bloginfo_rss("description") ?></description>

    <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate>

    <generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?></generator>

    <language><?php echo get_option('rss_language'); ?></language>

    <?php do_action('rss2_head'); ?>

    <?php $items_count = 0; if ($posts) { foreach ($posts as $post) { start_wp(); ?>

    <item>

        <title><?php the_title_rss() ?></title>

        <link><?php permalink_single_rss() ?></link>

        <comments><?php comments_link(); ?></comments>

        <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>

        <dc:creator><?php the_author() ?></dc:creator>

        <?php the_category_rss() ?>



        <guid isPermaLink="false"><?php the_guid(); ?></guid>

<?php if (get_settings('rss_use_excerpt')) : ?>

        <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>

<?php else : ?>

        <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>

    <?php if ( strlen( $post->post_content ) > 0 ) : ?>

        <content:encoded><![CDATA[<?php the_content('', 0, '') ?>]]></content:encoded>

    <?php else : ?>

        <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>

    <?php endif; ?>

<?php endif; ?>

        <wfw:commentRss><?php echo comments_rss(); ?></wfw:commentRss>

<?php rss_enclosure(); ?>

    <?php do_action('rss2_item'); ?>

    </item>

    <?php $items_count++; if (($items_count == get_settings('posts_per_rss')) && empty($m)) { break; } } } ?>

</channel>

</rss>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...