web-dev-qa-db-fra.com

Désactiver l'alimentation des commentaires, mais pas les autres

J'aimerais personnaliser mon blog WordPress de telle sorte qu'il ne soit plus possible d'accéder au flux de commentaires.

D'autres flux devraient toujours être disponibles et il devrait toujours être possible d'ajouter des commentaires à n'importe quel article.

J'ai essayé de trouver un plugin pour le faire, mais ce que j'ai trouvé est une fonctionnalité tout ou rien, sans possibilité d'ajuster avec précision quels flux sont autorisés et ceux qui ne le sont pas.

1
Jérôme
function remove_comment_feeds( $for_comments ){
    if( $for_comments ){
        remove_action( 'do_feed_rss2', 'do_feed_rss2', 10, 1 );
        remove_action( 'do_feed_atom', 'do_feed_atom', 10, 1 );
    }
}
add_action( 'do_feed_rss2', 'remove_comment_feeds', 9, 1 );
add_action( 'do_feed_atom', 'remove_comment_feeds', 9, 1 );
5
Shazzad

Comme mentionné par @glueckpress, depuis la version 4.4, vous pouvez utiliser le filtre feed_links_show_comments_feed.

Exemple (dans le fichier functions.php de votre thème):

add_action( 'after_setup_theme', 'head_cleanup' );

function head_cleanup(){

    // Add default posts and comments RSS feed links to head.
    add_theme_support( 'automatic-feed-links' );

    // disable comments feed
    add_filter( 'feed_links_show_comments_feed', '__return_false' ); 

}
3
pixeline

L’approche de @ Shazzad ne semble pas fonctionner lorsque current_theme_supports( 'automatic-feed-links' ), car jusqu’à 4,3 WordPress semble être être assez ego sur les liens de flux Vous devez remove_action( 'wp_head', 'feed_links', 2 ) hard et ajouter votre propre fonction en imprimant uniquement le lien pour les flux de publication.

Cependant, à partir de la version 4.4, cela semble devenir plus facile avec un tout nouveau filtre: feed_links_show_posts_feed .

1
glueckpress