我认为您应该停止使用重写端点来处理JSON响应。相反,您可以而且应该使用RESTAPI。
因此,与此相反:
function makeplugins_add_json_endpoint() {
add_rewrite_endpoint( \'json\', EP_PERMALINK | EP_PAGES );
}
add_action( \'init\', \'makeplugins_add_json_endpoint\' );
然后自己处理JSON响应,您可以并且应该这样做:
add_action( \'rest_api_init\', \'cyb_register_api_endpoints\' );
function cyb_register_api_endpoints() {
$namespace = \'myplugin/v1\';
register_rest_route( $namespace, \'/myendpoint/\', array(
\'methods\' => \'GET\',
\'callback\' => \'cyb_myendpoint_callback\',
) );
}
function cyb_myendpoint_callback() {
//$response can be a Object, JSON, array
$response = [];
return new WP_REST_Response( $response );
}
总之:现在应该通过RESTAPI处理JSON端点。