如何在wordpress上添加广告到RSS的结尾?

时间:2010-03-31 09:10:34

标签: wordpress rss advertising

我在我的主题上为functions.php添加了一个函数。

function insertAds($content) {

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

return $content;}

add_filter('the_content_feed', 'insertAds');

add_filter('the_excerpt_rss', 'insertAds');

问题是我在每个内容下都显示了添加内容,而不是在rss页面的末尾。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

WordPress不提供您想要做的事情的钩子。你会在哪个元素中放置广告?

通常的RSS-2-Feed有元数据和项目(内容)。没有其他元素。 有关详细信息,请参阅wp-includes/feed-rss2.php

更新

根据需要调整以下代码,并将文件放入插件目录:

<?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');

这是你想到的效果吗?如您所见,添加内容相当容易。 :)