如果您只想从自己的WordPress站点接收链接,请尝试以下两种方法:
但是如果要允许所有作为trackbacks发送的内容(其中注释类型为trackback
), 然后忽略下面的第二个片段,我添加了第二个片段,因为在默认/核心主题(如Twenty-Twenty-1)中,pingback和trackback都会显示为“a”;Pingback“;在帖子的评论部分。
这使用xmlrpc_call
action 禁用pingbacks 通过XML-RPC方法发送:
add_action( \'xmlrpc_call\', \'disallow_external_xmlrpc_pingback\', 10, 3 );
function disallow_external_xmlrpc_pingback( $name, $args, $server ) {
if ( \'pingback.ping\' == $name && false === strpos( $args[0], home_url() ) ) {
// Exit with a proper error.
$server->error( new IXR_Error( 0, \'Sorry, trackbacks from remote sites are not allowed.\' ) );
}
}
这使用
pre_trackback_post
action 禁用
trackbacks 通过标准HTTP POST方法发送(即不使用XML-RPC):
add_action( \'pre_trackback_post\', \'disallow_external_POST_trackback\', 10, 2 );
function disallow_external_POST_trackback( $tb_id, $tb_url ) {
if ( false === strpos( $tb_url, home_url() ) ) {
// Exit with a proper error.
trackback_response( 1, \'Sorry, trackbacks from remote sites are not allowed.\' );
}
}
顺便说一句,在问题代码中,
$home
未定义,应该是
$Home
(注意大写字母“H”,请参见
this 上面写着
变量名区分大小写(“:))。