Como remover pubDate de data publicada do feed RSS

4

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 que eu possa 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.

    
por Richard S. 07.07.2016 / 16:30

1 resposta

3

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

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

Se estiver vazio:

<pubDate></pubDate> 

o feed ainda não será validado:

> pubDate must be an RFC-822 date-time

Isso também não seria uma opção.

Se você deseja que ele seja 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 feed atom .

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

Veja 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 horário diferente.

    
por birgire 07.07.2016 / 17:37