it-swarm-pt.tech

Como remover a data publicada <pubDate> do feed RSS

Eu removi datas do meu tema porque todo o meu conteúdo é perene. As datas não são visíveis para visitantes ou rastreadores de mecanismos de pesquisa no site.

Mas as pessoas ainda podem ver as datas no meu feed RSS com a linha <pubDate></pubDate>. Existe uma maneira de remover isso do meu feed? Idealmente, através de um gancho ou filtro que eu possa adicionar ao meu arquivo functions.php para manter esta mudança específica do tema.

3
Richard S.

Observe que, se você remover a tag <pubDate> do rss2 feed, ela se tornará inválida.

Então você não quer fazer isso!

Se estiver vazio:

<pubDate></pubDate> 

então o feed ainda não valida:

> pubDate must be an RFC-822 date-time

Então isso não seria uma opção também.

Se você quiser estático, para todos os itens, você pode usar, por exemplo:

add_filter( 'get_post_time', 'wpse_static_rss2_feed_time', 10, 3 ); 

function wpse_static_rss2_feed_time( $time, $d, $gmt )
{
    if( did_action( 'rss2_head' ) )
        $time = 'Thu, 01 Jan 1970 00:00:00 +0000';
    return $time;
}

onde você pode modificar o valor estático de acordo com suas necessidades.

Semelhante pode ser feito para o atom feed.

Observe que o atom feed também possui a tag <updated> que obtém seu valor de get_post_modified_time():

Aqui está um exemplo:

add_filter( 'get_post_time',          'wpse_static_atom_feed_time', 10, 3 ); 
add_filter( 'get_post_modified_time', 'wpse_static_atom_feed_time', 10, 3 ); 

function wpse_static_atom_feed_time( $time, $d, $gmt )
{
    if( did_action( 'atom_head' ) )
        $time = '1970-01-01T00:00:00Z';
    return $time;
}

Observe também o formato de hora diferente.

2
birgire