Erster Schritt: Entfernen Sie die Feed-Links aus dem Bereich Ihrer Website.
<?php
add_action( 'wp_head', 'wpse33072_wp_head', 1 );
/**
* Remove feed links from wp_head
*/
function wpse33072_wp_head()
{
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
}
Als nächstes entfernen wir die Feed-Endpunkte aus WP. Haken Sie ein init
, globalisieren Sie $wp_rewrite
und setzen Sie die Feeds auf ein leeres Array. Dies verhindert effektiv, dass WordPress Feed-Umschreibungen hinzufügt. Es ist auch super hackisch und wird wahrscheinlich irgendwann in der Zukunft kaputt gehen.
<?php
add_action( 'init', 'wpse33072_kill_feed_endpoint', 99 );
/**
* Remove the `feed` endpoint
*/
function wpse33072_kill_feed_endpoint()
{
// This is extremely brittle.
// $wp_rewrite->feeds is public right now, but later versions of WP
// might change that
global $wp_rewrite;
$wp_rewrite->feeds = array();
}
Aber wenn es kaputt geht, ist das in Ordnung, da wir Feeds auf die Homepage umleiten.
<?php
foreach( array( 'rdf', 'rss', 'rss2', 'atom' ) as $feed )
{
add_action( 'do_feed_' . $feed, 'wpse33072_remove_feeds', 1 );
}
unset( $feed );
/**
* prefect actions from firing on feeds when the `do_feed` function is
* called
*/
function wpse33072_remove_feeds()
{
// redirect the feeds! don't just kill them
wp_redirect( home_url(), 302 );
exit();
}
Und der letzte Schritt: Ein Aktivierungs-Hook, mit dem unsere Umschreibungs-Feeds auf ein leeres Array gesetzt und die Umschreiberegeln gelöscht werden.
<?php
register_activation_hook( __FILE__, 'wpse33072_activation' );
/**
* Activation hook
*/
function wpse33072_activation()
{
wpse33072_kill_feed_endpoint();
flush_rewrite_rules();
}
Das alles als Plugin .