it-swarm.com.de

Entfernen oder bearbeiten Sie <dc: creator> in Feeds

Möchte <dc:creator> entfernen oder als statischen Wert bearbeiten, ohne die wichtigsten Wordpress-Dateien zu bearbeiten. Am liebsten als Funktion.

3
Picard102
  1. Kopieren Sie /wp-includes/feed-rss2.php in Ihren Themenordner

  2. Bearbeiten Sie es und nehmen Sie die gewünschten Änderungen vor (z. B. Entfernen der Zeile für dc:creator).

  3. fügen Sie in der functions.php-Datei Ihres Themas die folgende Funktion hinzu:

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);

Edit by Otto : Das wird zwar funktionieren, aber das wäre ein besserer Weg:

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

Die Funktion add_feed() ist intelligent und übernimmt die Aktionen und dergleichen für Sie.

Hinweis: Die einmalige Verwendung von flush_rules() ist erforderlich, um wirksam zu werden.

5
Biranit Goren

Ich wollte die obige Antwort von Otto verwenden, aber je mehr ich mir die Vorlagen ansah, desto mehr wurde mir klar, dass du das alles nicht brauchst.

Haken Sie einfach the_author filter ein und überprüfen Sie is_feed , wenn Sie einen RSS-spezifischen Autor wünschen.

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 );
4
jgraup

Für diejenigen, die kein PHP Skript hacken wollen. Das Feld zeigt einfach den Namen des Autors des Beitrags an. Wenn Sie die darin enthaltenen Informationen ändern möchten, rufen Sie den Administrator WP auf und gehen Sie zu "Benutzer" -> "Ihr Profil" (oder gehen Sie zu dem bestimmten Benutzer, den Sie ändern möchten). Ändern Sie anschließend das Feld "Name öffentlich anzeigen als" in das Feld, das Sie im RSS-Feed anzeigen möchten.

1
Daniel Chase

Leider ist dieses Element im WordPress-Kern fest programmiert. Schauen Sie sich /wp-includes/feed-rss2.php an:

<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>
0
EAMann