web-dev-qa-db-fra.com

Désactivation des notifications de pingback et de rétrolien

J'essaie de désactiver les notifications par e-mail pingback/trackback et je me demandais s'il y avait un fichier PHP que je peux éditer pour les empêcher?

Je les ai désactivés dans les paramètres principaux de WordPress (ce qui, je pense, ne modifie que les valeurs par défaut des nouveaux messages?), Mais je reçois toujours des notifications de rétroliens sur un message qui n'est pas un message réel, mais un élément de portefeuille dans un plugin de portefeuille (sans option). de les désactiver par poste).

4
Sam

Pour désactiver le pingback et les rétroliens, ajoutez ce code à votre fichier functions.php dans votre thème enfant:

add_action( 'pre_ping', 'wpse_190346_internal_pingbacks' );
add_filter( 'wp_headers', 'wpse_190346_x_pingback' );
add_filter( 'bloginfo_url', 'wpse_190346_pingback_url' ;
add_filter( 'bloginfo', 'wpse_190346_pingback_url' ;
add_filter( 'xmlrpc_enabled', '__return_false'  );
add_filter( 'xmlrpc_methods', 'wpse_190346_xmlrpc_methods' );

function wpse_190346_internal_pingbacks( &$links ) { // Disable internal pingbacks
    foreach ( $links as $l => $link ) {
        if ( 0 === strpos( $link, get_option( 'home' ) ) ) {
            unset( $links[$l] );
        }
    }
}
function wpse_190346_x_pingback( $headers ) { // Disable x-pingback
    unset( $headers['X-Pingback'] );
    return $headers;
}
function wpse_190346_pingback_url( $output, $show ) { // Remove pingback URLs
    if ( $show == 'pingback_url' ) $output = '';
    return $output;
}
function wpse_190346_xmlrpc_methods( $methods ) { // Disable XML-RPC methods
    unset( $methods['pingback.ping'] );
    return $methods;
}

Alternativement, vous pouvez utiliser le plugin Disable Blogging qui se charge de désactiver les pingback/trackbacks pour vous.

1