Como adicionar anúncios ao final do RSS no WordPress?
Pergunta
Eu adicionei uma função para funções.php no meu tema.
function insertAds($content) {
$content = $content.' add goes here';
return $content;}
add_filter('the_content_feed', 'insertAds');
add_filter('the_excerpt_rss', 'insertAds');
O problema é que estou exibindo o add, em cada conteúdo, e não no final da página RSS. Como posso consertar isso?
Solução
O WordPress não oferece um gancho para o que você deseja fazer. Em que elemento você colocaria o anúncio?
O RSS-2-feed usual possui meta-dados e itens (o conteúdo). Não há outro elemento. Ver wp-includes/feed-rss2.php
para detalhes.
Atualizar
Ajuste o código a seguir para suas necessidades e coloque o arquivo no diretório do plug -in:
<?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');
Esse é o efeito que você teve em mente? Como você pode ver, adicionar conteúdo é bastante fácil. :)