Como adicionar conteúdo e manipular completamente seus feeds RSS do WordPress

Um tempo atrás, compartilhamos como você pode controlar o seu rodapé RSS WordPress com o uso de um plugin famoso chamado rodapé RSS pelo Joost. Embora o plugin seja excelente, mas é muito limitado. Você só pode adicionar texto ao rodapé e é sempre o mesmo texto exibido no rodapé de cada postagem. E se você quiser exibir texto diferente para cada publicação na sua publicação RSS? E se você quiser postagens específicas para ter um título diferente em RSS Feeds? E se você quiser exibir um campo personalizado específico em seus RSS Feeds? Bem, por isso, apresentamos este artigo, que lhe mostrará como adicionar qualquer tipo de conteúdo em seus RSS Feeds do WordPress. Este hack irá colocar você no controle de seus RSS Feeds do WordPress e você pode manipulá-lo de qualquer forma que você deseja.

Nota: Este hack não é para iniciantes. Somente usuários que se sintam à vontade com a edição de arquivo functions.php e tenham algum conhecimento de php devem tentar isso. Os usuários iniciantes devem usar o plugin mencionado no artigo acima, ou consultar profissionais como nós para fazer isso por você.

1. Adicione um campo personalizado ao seu rodapé RSS WordPress

Neste primeiro exemplo, mostraremos como você pode usar o campo personalizado para exibir texto / objeto específico em seu RSS Feed do WordPress. Este truque permitirá que você mostre texto diferente, propaganda, imagem ou qualquer outra coisa para cada publicação. Primeiro, abra suas funções.php e cole os seguintes códigos nas tags php:

função site_postrss ($ content) {
 Global $ wp_query;
 $ postid = $ wp_query-> post-> ID;
 $ coolcustom = get_post_meta ($ postid, 'coolcustom', true);
 se (is_feed ()) {
 se ($ coolcustom! == '') {
 $ content = $ content. " 

". $ coolcustom." "; } outro { $ content = $ content; } } retornar $ conteúdo; } add_filter ('the_excerpt_rss', 'site_postrss'); add_filter ('the_content', 'site_postrss');

Agora, a maioria de vocês está se perguntando como esse código está funcionando. Então, aqui é uma explicação. Criamos uma função chamada site_postrss que executa uma wp_query global para pesquisar em cada publicação se um campo personalizado chamado “coolcustom” for definido. Se Cool Custom for definido, ele mostra o valor após o conteúdo do post. Se não houver nenhum campo personalizado definido, a função por padrão mostra apenas o conteúdo do post e nada mais. Usamos a variável $ content para exibir conteúdo. Estamos usando a função if (is_feed) e adicionando o texto personalizado ou outro conteúdo ao próprio conteúdo do post principal que você pode ver pelo segundo filtro. Mas isso só será exibido nos RSS Feeds devido ao nosso usuário da função if (is_feed). Ao fazê-lo desta forma, evitamos todos os problemas de compatibilidade.

Alguns de vocês dirão, mas você acabou de fazer o que o plugin do rodapé RSS faz com uma função. Sim e não. Sim, estamos adicionando o código no rodapé da postagem, mas esse texto não é o mesmo texto exato para cada publicação. É diferente porque você especifica texto diferente para cada post através de campos personalizados. Este truque será muito útil para cumprir as novas diretrizes da FTC para blogs que tenham todos os diferentes tipos de postagens.

2. Adicionando texto adicional para postar títulos em RSS

O seu blog tem postagens de convidados, postagens patrocinadas e postagens de revisão? Bem, se você fizer isso, você achará isso muito útil. Alguns blogueiros têm um estilo personalizado para exibir cada tipo diferente de postagem, para que seus usuários possam distinguir entre eles. Mas quando essas postagens são de um leitor, todos os estilos se foram. É quando esse truque é útil. Neste truque, adicionaremos qualquer texto antes ou depois do título.

Por exemplo, se o seu título fosse “Commercial WordPress Theme – StudioPress” e foi uma postagem patrocinada, então você pode mudá-lo para “Post patrocinado: Commercial WordPress Theme – StudioPress”. Mesmo se alguém escreveu uma postagem de convidado, etc.

Para realizar isso, abra o arquivo functions.php e adicione o seguinte código lá:

função site_titlerss ($ content) {
     Global $ wp_query;
     $ postid = $ wp_query-> post-> ID;
     $ gpost = get_post_meta ($ postid, 'guest_post', true);
     $ spost = get_post_meta ($ postid, 'sponsored_post', true);

     se ($ gpost! == '') {
     $ content = 'Guest Post:'. $ content;
     }
     elseif ($ spost! == '') {
     $ content = 'Sponsored Post:'. $ content;
     }
     outro {
     $ content = $ content;
     }
     retornar $ conteúdo;
     }
     add_filter ('the_title_rss', 'site_titlerss'); 

Explicação do código:

Estamos usando a função chamada site_titlerss que executa uma wp_query global para pesquisar em cada publicação se contiver $ gpost ou $ spost. Esses dois elementos estão basicamente à procura de dois campos personalizados específicos chamados “guest_post” ou “sponsored_post”. Se alguém tiver esses campos personalizados adicionados com um valor verdadeiro, o código irá adicioná-lo no texto. Caso contrário, você verá o título normal. Você pode ver primeiro o código procurar se $ gpost for verdadeiro, se isso não for verdade se $ spost é verdadeiro. Se isso também não for definido, então ele exibe conteúdo normal. Mas se um deles fosse verdadeiro, então ele exibe o texto diferente que você especifica aqui. Estamos usando $ content string para exibir o título da postagem.

Agora, isso era apenas exibir campos personalizados no título. Deseja exibir o nome da categoria em cada título? Bem, você deve simplesmente colar o seguinte código em seu arquivo functions.php:

função site_cattitlerss ($ content) {
 $ postcat = "";
 foreach ((get_the_category ()) como $ cat) {
 $ postcat. = '('. $ cat-> cat_name. ')';
 }
 $ content = $ content. $ postcat;
 retornar $ conteúdo;
 }
 add_filter ('the_title_rss', 'site_cattitlerss'); 

Explicação: estamos usando a função wpbgeinner_cattitlerss para obter a ID da categoria para cada publicação e, em seguida, exibi-la logo ao lado do título. Então, se o título for “Get Contact Form 7”, agora seria “Get Contact Form 7 [Plugins]”. Você pode ver que não existe nenhuma variável nesse código. Usamos $ content para o título principal e a variável $ postcat para definir o nome da categoria. Você reorganiza isso se quiser.

3. Adicionar o mesmo texto em todas as postagens no RSS

Se você quiser apenas adicionar o mesmo texto, você também pode usar o plugin chamado RSS Footer pelo Joost porque é mais fácil. Mas se você quer fazer você mesmo, é assim que você faz isso. Abra o arquivo functions.php adicione o seguinte código:

função site_postrss ($ content) {
 se (is_feed ()) {
 $ content = 'Esta publicação foi escrita por Syed Balkhi'. $ content.'Check out site ';
 }
 retornar $ conteúdo;
 }
 add_filter ('the_excerpt_rss', 'site_postrss');
 add_filter ('the_content', 'site_postrss'); 

local

Isso seria muito útil se você quisesse vender anúncios em postagens específicas em RSS, adicionar diretrizes personalizadas da FTC ou simplesmente queria ter mais controle sobre seus feeds RSS.

Fonte: Utilizamos o plugin RSS Footer de Joost para obter muitas orientações ao escrever este tutorial. O título RSS hack parte que obtivemos de um site de tutorial em francês e adicionamos nossas próprias variáveis ​​e lhe damos a capacidade de ser títulos personalizados por campo personalizado.