屏蔽WordPress REST API

REST API 是 WordPress 4.4 推出的功能,可以将 WordPress 的数据以 JSON 接口形式输出,这样可以通过WordPress制作小程序、客户端、APP等,都是非常简单的事情了。但如果不需要这个功能,可以将其禁用。

WordPress 4.7以下版本:

// Filters for WP-API version 1.x
add_filter( 'json_enabled', '__return_false' );
add_filter( 'json_jsonp_enabled', '__return_false' );

// Filters for WP-API version 2.x
add_filter( 'rest_enabled', '__return_false' );
add_filter( 'rest_jsonp_enabled', '__return_false' );

WordPress 4.7及其以上版本:

// Remove REST API info from head and headers
remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'template_redirect', 'rest_output_link_header', 11 );
add_filter( 'rest_authentication_errors', function( $access ) {
	return new WP_Error( 'rest_cannot_acess', 'The REST API no longer provides access.', array( 'status' => 403 ) );
});

这段代码放到你的 WordPress主题 中的 functions.php 即可。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注