Cambiar el funcionamiento de algún método expuesto en la API XmlRpc, o agregar nueva funcionalidad es bastante sencillo. Se pueden utilizar los filtros xmlrpc_methods
o wp_xmlrpc_server_class
.
php:
/**
* Plugin Name: Bla bla bla
*/
if ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) :
include_once(ABSPATH . WPINC . '/class-IXR.php');
include_once(ABSPATH . WPINC . '/class-wp-xmlrpc-server.php');
class CustomRpcServer extends wp_xmlrpc_server {
function sayHello() {
// Add custom code.
return 'Hello!!';
}
}
* Plugin Name: Bla bla bla
*/
if ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) :
include_once(ABSPATH . WPINC . '/class-IXR.php');
include_once(ABSPATH . WPINC . '/class-wp-xmlrpc-server.php');
class CustomRpcServer extends wp_xmlrpc_server {
function sayHello() {
// Add custom code.
return 'Hello!!';
}
}
add_filter('wp_xmlrpc_server_class', create_function('$class', 'return \'CustomRpcServer\';'));
endif;
Como pueden ver, el código mostrado funciona como un plugin. Lo que hace es reemplazar la clase que se encarga de las peticiones XmlRpc. Se sobre escribe el método sayHello
.