Soporte » WordPress Avanzado » Acceso a WordPress 3.5 Mediante XML-RPC API

  • Resuelto elhui2

    (@elhui2)


    Hola:

    Buen dia foreros, este seria mi primer post de consulta, espero puedan echarme una mano!

    Necesito hacer un app movil en diferentes plataformas, a partir de este CMS, tenia pensado extraer los datos mediante XML-RPC que ya esta activado por default a partir de la version 3.5 bien, toda la documentacion que he encontrado esta basada en el API anterior y muchas de las funciones estan «deprecated» (no se cual seria su traduccion correcta), para conectarme hago lo siguiente:

    require_once 'config.php';
    require_once 'IXR_Library.php';
    
    $client = new IXR_Client('http://localhost/sitio.com/xmlrpc.php');
    
    if (!$client->query('wp.getTaxonomies ','taxonomy="category"', $user,$pass))
    {
        echo('Ocurrio un error: ->.' . $client->getErrorCode().":".$client->getErrorMessage());
    }
    $cats = $client->getResponse();
    
    if(!empty($cats)){
    
        header('Cache-Control: no-cache, must-revalidate');
        header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
        header('Content-type: application/json');
        echo json_encode($cats);
    
    }

    Esto lo hago para generar archivos en formato JSon y poderlos leer mediante peticiones http, el problema es que el resultado de esta consulta no me genera nada.

    Alguien sabe que ando haciendo mal???

    Gracias adelantadas, acepto manuales, enlaces, criticas, sugerencias, maldiciones e insultos (no me ofende nada).

Viendo 1 respuesta (de un total de 1)
  • Iniciador del debate elhui2

    (@elhui2)

    Les tengo la respuesta a mi pregunta:

    <?php
    require_once '../wp-includes/class-IXR.php';
    
    $url='http://localhost/domain.com/xmlrpc.php';
    $usr='USER';
    $pas='PASSWORD';
    
    $client = new IXR_Client($url);
    
    $content= 'category';
    
    $params= array(0,$usr,$pas,$content);
    
    if(!$client->query('wp.getTerms',$params)){
        die('An error occurred - '.$client->getErrorCode().":".$client->getErrorMessage());
    }
    
    $respuesta=$client->getResponse();
    
    header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
    header('Access-Control-Max-Age: 86400');
    header('Access-Control-Allow-Credentials: true');
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
    header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
    header('Cache-Control: no-cache, must-revalidate');
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
    header('Content-type: application/json');
    
    echo json_encode($respuesta);
    
    ?>

    Saludos, si tienen dudas no dude en consultarme 😀

Viendo 1 respuesta (de un total de 1)
  • El debate ‘Acceso a WordPress 3.5 Mediante XML-RPC API’ está cerrado a nuevas respuestas.