it-swarm-pt.tech

Como adicionar imagem em destaque ou campo personalizado ao feed xml?

Eu já tentei os plugins RSS Manager, Adicionar imagem em destaque para feed RSS e Imagem em destaque em RSS Feed. Mas tudo o que eles fazem é adicionar a imagem dentro do atributo <description> do feed xml.

Há pelo menos 2 problemas com isso:

  • O blog que está puxando o feed trunca o <description> com cerca de 300 caracteres, o que é bom.
  • O blog que está puxando o feed tira as tags html. Eu tenho que tirá-los, porque se houver uma imagem dentro do corpo do post, ela será exibida. Portanto, se houver duas imagens no início da postagem, elas serão exibidas e também exibirão a imagem em destaque. Além disso, a tag img consumirá caracteres do limite de 300 caracteres.

Então eu preciso gerar o feed RSS xml com o atributo adicionado <featuredimage> ou <thumbnail> ou algo assim. NÃO incorporado dentro de <description>.

Eu procurei plugins, mas não consegui encontrar nenhum que resolvesse esse problema. Desde já, obrigado.

2
leonel

O feed RSS2 é gerado no arquivo wp-includes/feed-rss2.php. Neste arquivo, há um gancho de ação chamado rss2_item. Você pode usar esse gancho de ação para adicionar tags a cada item no seu feed.

Há um artigo do códice em rss2_item com exemplos, incluindo este para adicionar uma tag <image>:

<?php
add_action('rss2_item', 'add_my_rss_node');

function add_my_rss_node() {
    global $post;
    if(has_post_thumbnail($post->ID)):
        $thumbnail = get_attachment_link(get_post_thumbnail_id($post->ID));
        echo("<image>{$thumbnail}</image>");
    endif;
}
?>
3
Ben Miller

Código de trabalho:

add_action('rss2_item', 'custom_thumbnail_tag');

function custom_thumbnail_tag() {

    global $post;
    if(has_post_thumbnail($post->ID)):
        $thumbnail_ID = get_post_thumbnail_id( $post->ID );
        $thumbnail = wp_get_attachment_image_src($thumbnail_ID, 'thumbnail');
        echo("<thumbnail>{$thumbnail['0']}</thumbnail>");
    endif;

}
2
Bhupen

Eu estou tentando fazer a mesma coisa. Alguns recursos que eu tenho visto até agora:

Primeiro, aprenda a sintaxe e a estrutura do RSS. RSS2.0 Tag sintaxe

Crie uma página oculta no Wordpress para criar seu próprio layout e chamar todos os campos e imagens que desejar. Yoast Custom RSS Feed tut

0
reidelliott