Question

I have added a function to functions.php on my theme.

function insertAds($content) {

$content = $content.' add goes here';

return $content;}

add_filter('the_content_feed', 'insertAds');

add_filter('the_excerpt_rss', 'insertAds');

The problem is that I'm having the add displayed under each content, and not at the end of the rss page. How can I fix that?

Was it helpful?

Solution

WordPress doesn’t offer a hook for what you want to do. In which element would you place the ad?

The usual RSS-2-Feed has meta data and items (the content). There is no other element. See wp-includes/feed-rss2.php for details.

Update

Adjust the following code to your needs and put the file into your plugin directory:

<?php
/*
Plugin Name: Last man adding
Description: Adds content to the last entry of your feed.
Version: 0.1
Author: Thomas Scholz
Author URI: http://toscho.de
Created: 31.03.2010
*/

if ( ! function_exists('ad_feed_content') )
{
    function ad_feed_content($content)
    {
        static $counter = 1;
        // We only need to check this once.
        static $max = FALSE;

        if ( ! $max )
        {
            $max = get_option('posts_per_rss');
        }

        if ( $counter < $max )
        {
            $counter++;
            return $content;
        }
        return $content . <<<MY_ADDITIONAL_CONTENT
<hr />
<p>Place your ad here. Make sure, your feed is still
<a href="http://beta.feedvalidator.org/">validating</a></p>
MY_ADDITIONAL_CONTENT;
    }
}
add_filter('the_content_feed', 'ad_feed_content');
add_filter('the_excerpt_rss',  'ad_feed_content');

Is this the effect you had in mind? As you can see, adding content is rather easy. :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top