Как добавить рекламу в конец RSS на WordPress? - PullRequest
1 голос
/ 31 марта 2010

Я добавил функцию в 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 Ответ

1 голос
/ 31 марта 2010

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

Это эффект, который вы имели в виду? Как видите, добавить контент довольно просто. :)

...