Remove ou Edit dc: creator em Feeds

3

Gostaria de remover <dc:creator> ou editá-lo como um valor estático sem editar os arquivos principais do Wordpress. De preferência como uma função.

    
por Picard102 02.04.2012 / 22:16

4 respostas

5
  1. Copie /wp-includes/feed-rss2.php para a pasta do seu tema

  2. Edite e faça as alterações desejadas (por exemplo, remover a linha de dc:creator )

  3. no arquivo functions.php do seu tema, adicione a seguinte função:

remove_all_actions( 'do_feed_rss2' );  
function create_my_custom_feed() {  
    load_template( TEMPLATEPATH . '/feed-rss2.php');  
}  
add_action('do_feed_rss2', 'create_my_custom_feed', 10, 1);

Editar por Otto : Embora isso funcione, essa seria uma maneira melhor:

function create_my_custom_feed() {  
    load_template( TEMPLATEPATH . '/feed-rss2.php');  
}  
add_feed('rss2', 'create_my_custom_feed');

A função add_feed() é inteligente e lidará com as ações e ações para você.

Observação: : será necessário usar uma vez flush_rules() para usar efeito.

    
por Biranit Goren 11.09.2012 / 04:03
4

Eu ia usar a resposta acima da Otto, mas quanto mais eu olhava os modelos, mais me dei conta de que você não precisa de tudo isso.

Apenas anexe the_author filtre e verifique is_feed se você quiser um autor específico para RSS.

function f_the_author( $display_name ) {

    // $display_name === string $authordata->display_name

    if ( is_feed() ) {
        return 'Static Feed Author Display Name Here';
    }

    return "Static Author Display Name";
}

add_filter( 'the_author', 'f_the_author', PHP_INT_MAX, 1 );
    
por jgraup 23.01.2016 / 07:48
1

Para quem não quer fazer um script em PHP. O campo simplesmente exibe o nome do autor da postagem. Se você quiser mudar o que diz, vá para o administrador do WP e vá para "Usuários" - > 'Your Profile' (ou vá para o usuário específico que você deseja alterar). Em seguida, altere o campo "Exibir nome publicamente como" para o que deseja exibir no feed RSS.

    
por Daniel Chase 01.10.2018 / 21:17
0

Infelizmente, esse elemento é embutido no núcleo do WordPress. Dê uma olhada em /wp-includes/feed-rss2.php :

<item>
    <title><?php the_title_rss() ?></title>
    <link><?php the_permalink_rss() ?></link>
    <comments><?php comments_link_feed(); ?></comments>
    <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
    <dc:creator><?php the_author() ?></dc:creator>
    <?php the_category_rss('rss2') ?>

    <guid isPermaLink="false"><?php the_guid(); ?></guid>
<?php if (get_option('rss_use_excerpt')) : ?>
    <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
<?php else : ?>
    <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
    <?php if ( strlen( $post->post_content ) > 0 ) : ?>
        <content:encoded><![CDATA[<?php the_content_feed('rss2') ?>]]></content:encoded>
    <?php else : ?>
        <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
    <?php endif; ?>
<?php endif; ?>
    <wfw:commentRss><?php echo esc_url( get_post_comments_feed_link(null, 'rss2') ); ?></wfw:commentRss>
    <slash:comments><?php echo get_comments_number(); ?></slash:comments>
<?php rss_enclosure(); ?>
<?php do_action('rss2_item'); ?>
</item>
    
por EAMann 02.04.2012 / 22:24

Tags