WP REST API + jQuery + WordPress Como recupero os dados? Dúvida

  • Autor Autor juanolo2001
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
J

juanolo2001

Alfa
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Tengo montado en un servidor la instalación de un WordPress con los plugin “WP REST API” y “WP REST API Menus”.

Para sacar las noticias uso los siguientes códigos y los saco sin ningún problema:

-Codigo.js
Inserir CODE, HTML ou PHP:
/* NOTICIAS */
jQuery(function($){
  $('#get-another-quote-button').on('click',function(e){
    e.preventDefault();
    $.ajax( {
      url: 'http://localhost/appwordpress/wp-json/wp/v2/posts',
      success: function ( data ) {
    $( '#listadoPost' ).html('');
    var q = data.length;
    if ( q > 0 ) {
      for ( var i = 0; i < q; i++ )
      {
        var post = data[i];
        $( '#listadoPost' ).append('<div>'+post.title.rendered+'</div><div>'+post.excerpt.rendered+'</div>');
      }
    }
      },
      cache: false
    } );
  } );
} );
/* FIN DE NOTICIAS*/

- Codigo.html
HTML:
 <div id="listadoPost"></div>

- Dirección JSON:
502 Bad Gateway

- La dirección JSON aporta esta información (enlazo una imagen png):
http://mentazen.com/dudasAPP/WP-REST-API.png

Aquí viene mi problema, sacar el nombre de las secciones de WordPress del menú principal (el menú principal tiene un ID 5)

Uso el plugin “WP REST API Menus” ya que el anterior plugin no tiene soporte para los menús y necesita de éste otro para complementarse, pero no consigo recuperar los datos del menú (como por ejemplo el título “inicio”) ¿Cómo se tiene que hacer?

- Codigo.js
Inserir CODE, HTML ou PHP:
jQuery(function($){
  $('#get-another-quote-button').on('click',function(e){
    e.preventDefault();
    $.ajax( {
      url: 'http://localhost/appwordpress/wp-json/wp-api-menus/v2/menus/5',
      success: function ( data ) {
    $( '#listadoMenu' ).html('');
    var q = data.length;
    if ( q > 0 ) {
      for ( var i = 0; i < q; i++ )
      {
        var menu= data[i];
        $( '#listadoMenu' ).append('<div>'+menu.items.title+'</div>');
      }
    }
      },
      cache: false
    } );
  } );
} );

- Codigo HTML
HTML:
<div id="listadoMenu"></div>

- Dirección JSON:
502 Bad Gateway

- La dirección JSON aporta esta información (enlazo una imagen png):
http://mentazen.com/dudasAPP/WP-REST-API-Menus.png

¿Como puedo sacar el titulo de las secciones del menú principal “Inicio, Página de ejemplo y Hola mundo”?

Duda extra: creo que el código en ningún momento controla si recibe una respuesta ok o no ¿se puede mostrar o capturar de alguna manera que ha habido algún error a la hora de conectar con la base de datos?
Duda extra2: ¿estoy haciendo bien las llamadas, funciones, etc con jQuery? Acabo de empezar con él y no sé si hay alguna manera más óptima, fácil y ordenada de capturar la información del REST API mediante Ajax.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
[MENTION=169638]juanolo2001[/MENTION]
probaste asi ?
$( '#listadoMenu' ).append('<div>'+menu.title.rendered+'</div>');
 
Última edição:
Traigo la respuesta,

Aquí un ejemplo del código retocado que ya funciona por si a alguien le hace falta:

Inserir CODE, HTML ou PHP:
	$.ajax( {
		url: 'http://app.programador-web-freelance.es/wp-json/wp-api-menus/v2/menus/2',
		success: function ( data ) {
			var numeroSecciones = data.count;
			for ( var i = 0; i < numeroSecciones; i++ )
			{
				$( '#ulMenu' ).append('<li><a href="#page1" class="menuSeccion">'+data.items[i].title+'</a></li>');
			}
			$("#ulMenu").trigger('create');
		},
	  cache: false
	} );
 
Voltar
Topo