禁用ping back和trackback通知

时间:2015-06-03 作者:Sam

我正在尝试禁用pingback/trackback电子邮件通知,想知道是否有一个PHP文件可以编辑以防止它们?

我已经在主WordPress设置中禁用了它们(我认为这只是更改了新帖子的默认设置?)但在一篇实际上不是真正的文章,而是一个公文包插件中的公文包项目的文章上,仍然会收到trackback的通知(没有在每篇文章上禁用它们的选项)。

1 个回复
SO网友:Ethan O\'Sullivan

要禁用pingback和trackback,请将此代码添加到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;
}
或者,您可以使用Disable Blogging 插件,负责为您禁用pingback/trackback。

结束