Obtener mensajes de WordPress en mi aplicación para Android

Soy nuevo en el desarrollo de Android y estoy tratando de hacer una aplicación que simplemente mostrar las categorías de correos y mensajes de un sitio web de WordPress. ¿Puede alguien ayudarme, por favor.

Gracias Gregra por ayudarme. Encontré una solución. He instalado WordPress plugin JSON API en wordpress sitio y ha hecho referencia este enlace http://www.learn2crack.com/2013/10/android-json-parsing-url-example.html código en la aplicación de Android

Lo que quieres hacer es crear algún tipo de REST API de tu WordPress para devolver las respuestas JSON a tus peticiones HTTP de Android. Para hacer eso, primero para el Android, puede referirse a este post:

Realizar una solicitud HTTP con android

Luego, para el lado del servidor (su WordPress) tendrá que agregar un complemento para manejar sus solicitudes de API. Para ello, cree un archivo llamado api-endpoint.php dentro de su wp-content / plugins y use algo como esto:

<?php class API_Endpoint{ /** Hook WordPress * @return void */ public function __construct(){ //Ensure the $wp_rewrite global is loaded add_filter('query_vars', array($this, 'add_query_vars'), 0); add_action('parse_request', array($this, 'sniff_requests'), 0); add_action('init', array($this, 'add_endpoints'), 0); } /** * Add public query vars * @param array $vars List of current public query vars * @return array $vars */ public function add_query_vars($vars){ $vars[] = '__api'; return $vars; } /** * Add API Endpoints * Regex for rewrites - these are all your endpoints * @return void */ public function add_endpoints(){ //Get videos by category - as an example add_rewrite_rule('^api/videos/?([0-9]+)?/?','index.php?__api=1&videos_cat=$matches[1]','top'); //Get products - as an example add_rewrite_rule('^api/product/?([0-9]+)?/?','index.php?__api=1&product=$matches[1]','top'); } /** Sniff Requests * This is where we hijack all API requests * If $_GET['__api'] is set, we kill WP and serve up rss * @return die if API request */ public function sniff_requests(){ global $wp; if(isset($wp->query_vars['__api'])){ $this->handle_api_request(); exit; } } /** Handle API Requests * This is where we handle off API requests * and return proper responses * @return void */ protected function handle_api_request(){ global $wp; /** * * Do your magic here ie: fetch from DB etc * then get your $result */ $this->send_response($result); } /** Response Handler * This sends a JSON response to the browser */ protected function send_response(array $data){ header('content-type: application/json; charset=utf-8'); echo json_encode($data); exit; } } new API_Endpoint(); 

A continuación, habilite el complemento API_Endpoint a través de su interfaz de administración de WordPress y no olvide limpiar sus permalinks.

Después de eso, podrás hacer solicitudes de API a:

http://example.com/api/videos/12

o

http://example.com/api/product/4

Editar

Para obtener las categorías de WordPress por ejemplo referencia aquí – http://codex.wordpress.org/Function_Reference/get_categories

En caso de enviar los datos de wordpress a la aplicación android, utilizando el JSON APi Plugin es muy malo , aunque dar resultados esperados, pero ¿realmente ver lo que es el resultado de la consulta json?

Sólo tienes que comprobarlo, ingresa en tu navegador: http://www.yourwebsite.com/api/get_posts/

Y comprobar lo que obtendrá, esto consultará todos los puestos o el número de puestos que estableció por defecto en su panel de WordPress, y enviará todos los datos sobre ellos como una cadena de json, traté de consultar 10 puestos y el tamaño de json Cadena era de unos 150KB imaginar, sólo 10 puestos, el usuario tendrá que descargar todos ellos cada vez para obtener sólo 10 puestos.

Solución: Debe consultar los mensajes en el lado del servidor y enviar de vuelta a la aplicación de Android sólo los datos que va a utilizar, ex: título, miniatura, extracto ….

¿Cómo hacerlo?

1- Hacer un archivo php en su dir wordpress y hacerlo accesible

2- Recibe en él los valores publicados desde android (estos serán establecidos por ti en android para conocer el tipo de consulta que deseas, como el número de publicaciones y el tipo de publicación …)

3- puestos de consulta utilizando funciones de wordpress de acuerdo con la consulta entites en parte-2

4- Genere su propia cadena json con sólo los datos que desea usar.

5- eco de la cadena json de nuevo a android

Ahora si quiero sólo el título y el enlace de miniaturas de 10 mensajes, el tamaño de la cadena json será de aproximadamente 2KB

Eso hace una diferencia

Puede utilizar el JSON API Auth para registrarse e iniciar sesión en el usuario es fácil y rápido de implementar y usar.

Creo que esto es mejor, para usar api de wordpress restante necesitas usar WordPress 4.7 o superior, o instalar el complemento Rest Api en versiones anteriores. Entonces usted necesita configurar los Permalinks en wordpress, esto hará que los puntos finales del resto api funcionen.

Para reducir el tamaño y customice la salida json puede instalar el complemento Rest api filter fields plugin vea el siguiente ejemplo:

Obtención del número especificado de publicaciones

Para obtener el número especificado de publicaciones, puede utilizar el filtro post-por-página. La siguiente URL solo buscará 3 mensajes. Http: // tu-blog-url / wp-json / wp / v2 / posts? Filter [posts_per_page] = 3

Obtención de un mensaje concreto

Usted puede buscar cualquier post en particular por su id. Http: // tu-blog-url / wp-json / wp / v2 / mensajes / 67

Aquí 67 es el id de la entrada.

Campos de filtrado

Como usted ha visto en los datos anteriores de JSON que hay varios campos que no requieren. Así que con la ayuda de REST API – Filter Fields plugin puede filtrar pocos campos. Por ejemplo, desea buscar sólo el ID de la publicación y el título, entonces se puede hacer mediante la siguiente URL. Http: // tu-blog-url / wp-json / wp / v2 / posts? Fields = id, title

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.