web-dev-qa-db-ja.com

Pingbackとtrackbackの通知を無効にする

Ping/trackbackメール通知を無効にしようとしていますが、それらを防ぐために編集できるPHPファイルがあるかどうか疑問に思いましたか。

私はメインのWordPress設定でそれらを無効にしています(新しい投稿のデフォルトを変更するだけですか?)が、実際には本物の投稿ではなく、ポートフォリオプラグインのポートフォリオアイテムのトラックバックの通知を受け取ります(オプションなし)投稿ごとに無効にする方法).

4
Sam

Pingbackとtrackbacksを無効にするには、子テーマのfunctions.phpファイルにこのコードを追加します。

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

代わりに、あなたはあなたのためにpingback/trackbacksを無効にすることの世話をする ブログを無効にする プラグインを使うことができます。