Categories
Web WordPress

Agregar o sobre escribir métodos XmlRpc en WordPress

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!!';
                }
        }

        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.