A API REST do Wordpress está instalada e ativada em uma instalação baunilha do Wordpress 4.7?

23

Acabei de instalar o Wordpress 4.7. Uma das menções no anúncio é que ele possui uma API REST.

Meu entendimento é:

  • O plugin Wordpress REST API não é mais necessário, porque supostamente já foi mesclado com o núcleo no Wordpress 4.7.
  • A API REST do Wordpress é ativada por padrão

No entanto, percebo que em uma instalação baunilha do Wordpress 4.7, nenhum dos endpoints parece funcionar (por exemplo http://examples.com/wp-json/wp/v2/posts ).

Como posso saber se a nova API REST está realmente ativada? A API REST pode ser ativada ou desativada com a vanilla Wordpress UI ou devo instalar um plug-in de terceiros para fazer isso?

    
por Pep 10.12.2016 / 18:07
fonte

3 respostas

15

4.7 está ativado por padrão. A maneira mais fácil de verificar se está funcionando é apenas visitar o url example.com/wp-json, e você deve obter uma lista de pontos finais registrados

Não existe uma opção oficial para desativá-lo, pois (pelo menos houve uma conversa sobre isso, não tenho certeza se ele foi lançado), algumas funcionalidades básicas dependem dele.

As coisas mais óbvias para verificar se não está funcionando são as regras do htaccess, e você tem um diretório wp-json

    
por Mark Kaplun 10.12.2016 / 18:37
fonte
7

Eu tinha o 4.7 também achava que a API REST estava desativada, mas fui enganado pelo URL. Para ver o URL correto, procure uma linha com algo parecido com isso:

link rel = ' https://api.w.org/ ' href = ' http://mysite?rest_route=/ ' / & gt ;. Então, usando enlace como o prefixo resolveu o meu problema. Por exemplo, para recuperar os posts é suficiente digitar: enlace

Não consegui encontrar na documentação que o parâmetro de consulta era necessário. Eu era o único?

    
por Edward 27.06.2017 / 05:52
fonte
0

Vejo que você corrigiu o problema, mas deixou minha solução aqui, pois funcionou para mim também. Eu tive esse mesmo problema ao atualizar do beta15 para a API principal no wp 4.7 Acontece que o problema era que eu tinha alguns plugins que estavam usando uma função obsoleta register_api_field que eu mudei para register_rest_field de acordo com esta nota no changelog:

  

BREAKING CHANGE: renomeie register_api_field () para register_rest_field ().

     

Introduz uma função register_api_field () para o backwards compat, que   chama _doing_it_wrong (). No entanto, register_api_field () nunca será   comprometido com o núcleo do WordPress, então você deve atualizar suas chamadas de função.

    
por friendlyfire 17.12.2016 / 03:30
fonte

Tags