web-development-kb-pt.site

Post update plugin de notificação RSS

Sempre que eu atualizo uma postagem de blog mais antiga com novas informações, ela fica visível para todos os leitores que visitam o site em si. Os leitores do feed RSS não recebem a atualização e perdem as novas informações.

Eu estou procurando uma maneira que retorne o post para o RSS-feed como se fosse um novo post (com um [Update] colocado após o título do post, de preferência). No entanto, não deve ser uma nova postagem RSS sempre que eu fiz uma pequena alteração (como corrigir um erro de ortografia). Seria ideal se me perguntasse se isso era uma pequena alteração sempre que eu editava um post. Como posso conseguir isso?

1
neo

Primeiro, isso claramente não é um bug. Os feeds gerados pelo WordPress são ordenados por data de publicação, o que é intencional e faz sentido.

Os segundos clientes RSS identificam itens de forma exclusiva. No caso específico de WP feeds, o identificador único é o campo guid com um permalink não bonito (?p=xxx). Mesmo se a postagem for alterada e devolvida ao feed, seu identificador permanecerá o mesmo e será tratado como lido pelo cliente RSS.

Na prática, alguns clientes detectam que é alterado, outros não. Em qualquer caso, a situação será ambígua e não confiável.

Do ponto de vista da usabilidade, itens previamente lidos que reaparecem no feed podem ser irritantes para os leitores (para mim, pessoalmente, é irritante como o inferno).

Para resumir o que você quer não é impossível, mas (na minha opinião) vai contra a mecânica do WordPress e RSS.

Dadas as suas condições (e eu assumo uma quantidade considerável de tais edições) eu sugeriria posts periódicos com listas de entradas atualizadas. Pode ser gerado manualmente ou por código.

2
Rarst

Que tal criar uma caixa de seleção meta_field personalizada chamada update. Se a caixa estiver marcada, pode acrescentar a frase [atualizada] ao título.

Por exemplo:

<?php if ( get_post_meta( $post->ID, _updated_post, true ) ) {  echo '[Updated]'; the_title();  }else{ the_title(); } ?>

Isso cuidaria dos visitantes do site

Use the_title_rss para a mesma coisa no seu feed RSS

Você provavelmente iria querer usar wp_cron para redefinir automaticamente o valor de tempo x a menos que você queira manualmente ter que voltar e desmarcar a caixa

1
Ashley G

Eu acho que você pode estar olhando para isso da maneira errada. As novas informações em sua postagem antiga ficam visíveis para os espectadores de ambos o site e o feed RSS. Ou seja, qualquer pessoa acessando o feed RSS após o post ter sido atualizado verá a última versão.

É verdade que qualquer pessoa que acessou o feed RSS antes da atualização do post não saberia quando novas informações estão disponíveis, mas o mesmo pode ser dito para os visitantes do seu site. A única maneira de notificar os visitantes do seu site e os consumidores de RSS de que as postagens antigas foram atualizadas é criar uma nova postagem dizendo, "Ei! Minha postagem sobre isso foi atualizada! Vá dar uma olhada."

1
Doug

O que você está basicamente tentando fazer é 'enganar' o leitor de RSS a pensar que é um post diferente, e não apenas uma versão atualizada. Diferente do próprio site WP, que chama a versão mais recente do conteúdo do banco de dados quando alguém o visualiza, o RSS é uma versão mais 'estática' e sempre que os vários leitores de feed puxam as informações para o aplicativo de leitura, torna-se estático, independentemente de quantas vezes você atualizá-lo novamente. Além disso, lembre-se de que quaisquer agregadores de terceiros (como o Feedburner) irão extrair as informações e, em seguida, servirão a partir de seu próprio cache.

Então você tem algumas opções:

  1. Altere a data da postagem e modifique o slam de link permanente levemente em cada edição para que pareça um novo item
  2. não publique até que esteja pronto

Enquanto isso não é uma resposta direta, eu tenho que perguntar por que você está querendo fazer isso para começar. Se você está constantemente atualizando o mesmo post/conteúdo, então você está derrotando o uso de por que as pessoas se inscrevem no RSS para começar. Embora eu tenha certeza de que há motivos para isso, eu, pessoalmente, cancelaria a inscrição em um site que basicamente explodia meu leitor com várias versões do mesmo conteúdo.

0
Norcross

O feed RSS está sendo executado pelo FeedBurner ou vindo direto do WP?

Ouvi dizer que o FeedBurner pode atrapalhar seus melhores planos para que isso funcione.

Por que não apenas re-postar (como em c-p) o antigo em um novo, e colocar uma tag [UPDATED] nela se seus assinantes realmente precisarem vê-la?

0
mitchellhislop

Algumas soluções para você que poderiam ou poderiam funcionar

Altere a data publicada quando você atualizar uma postagem - ela será adicionada novamente ao feed RSS. Se necessário, você pode armazenar a primeira data de postagem em um campo personalizado.

No entanto, o conteúdo é muito distribuído - o que é realmente necessário é uma imagem que é criada com base em uma data de última modificação que vincula ao permalink. Se você está fazendo dessa forma, e isso não é algo que eu testei, você poderia ter um feed com base na data da última modificação em vez da data de publicação. Pode precisar de ping. A Pesquisa de blogs do Google certamente mantém uma cópia de todo o conteúdo de um feed, mesmo que eles não precisem mostrá-lo no índice usando os controles do feedburner. Há uma chance de o índice ser baseado em permalinks e não em itens de feed Atom.

Quer ser mais crafty e obter mais backlinks ... poderia ser justificado para adicionar uma data ao final de um permalink quando você alterar a data de publicação usando um parâmetro.

Outra alternativa é armazenar o último modificado, e sempre que um post se publica você também ad modificou recentemente posts para o rodapé dentro do RSS, e também tem algo similar na barra lateral. Eu realmente gosto dessa opção porque adiciona mais links.

0
AndyBeard

Eu vejo a seguinte solução: A lista de postagens nos feeds deve ser classificada pela data da última atualização da postagem. Não tenho certeza se esse já é o caso dos feeds. Se não for um plugin deve ligar para o posto de feeds consultando e alterar a ordem de classificação.

O WP Minor Edit (Plugin Wordpress) oferece parte da funcionalidade que você já está procurando. Ele também faz uso da data da última atualização da postagem, não alterando-a.

Se agora outro plug-in se conecta ao feed, faça o tipo de feed conforme especificado e, em cada título do feed, verifique se os dados das postagens são outros que a data da última atualização da postagem, apenas adiciona [UPDATED] para o título.

Feito.

0
hakre