L'API Wordpress REST est-elle installée et activée dans une installation vanilla de Wordpress 4.7?

23

Je viens d'installer Wordpress 4.7. L’une des mentions mentionnées dans l’annonce est qu’il dispose d’une API REST.

Je pense comprendre:

  • Le plugin API REST Wordpress n'est plus nécessaire, car il est supposé avoir déjà été fusionné avec le noyau de Wordpress 4.7.
  • L'API REST Wordpress est activée par défaut

Cependant, je remarque que dans une installation vanilla Wordpress 4.7, aucun des points de terminaison ne semble fonctionner (par exemple, http://examples.com/wp-json/wp/v2/posts ).

Comment savoir si la nouvelle API REST est vraiment activée? L'API REST peut-elle être activée ou désactivée avec l'interface utilisateur Wordpress vanille ou dois-je installer un plug-in tiers pour le faire?

    
posée Pep 10.12.2016 - 18:07

3 réponses

15

4.7 l’a activé par défaut. Le moyen le plus simple de vérifier si cela fonctionne est simplement de visiter l'URL example.com/wp-json. Vous devriez obtenir une liste des points finaux enregistrés à cet endroit

Il n'y a pas d'option officielle pour le désactiver car (au moins, on en a parlé, mais on ne sait pas trop s'il a été inclus dans la version), certaines fonctionnalités de base en dépendent.

Les règles les plus évidentes à vérifier si cela ne fonctionne pas sont vos règles htaccess, et avez-vous un répertoire wp-json

    
réponse donnée Mark Kaplun 10.12.2016 - 18:37
7

J'ai aussi pensé que l’API REST était désactivée pour la version 4.7, mais l’URL me trompait. Pour voir l'URL correcte, recherchez une ligne ressemblant à ceci:

link rel = ' https://api.w.org/ ' href = ' http://mysite?rest_route=/ ' / & gt ;. Ainsi, utiliser enlace comme préfixe a résolu mon problème. Par exemple, pour récupérer les publications, vous devez taper: enlace

Je n'ai pas trouvé sur la documentation que le paramètre de requête était nécessaire. Étais-je le seul?

    
réponse donnée Edward 27.06.2017 - 05:52
0

Je vois que vous avez résolu le problème mais en laissant ma solution ici car elle a également fonctionné pour moi. J'ai eu le même problème lors de la mise à jour de la beta15 à l'API de base dans wp 4.7. Le problème est que certains plug-ins utilisaient une fonction obsolète register_api_field, que j'ai modifiée en register_rest_field conformément à cette note dans le changelog:

  

RUPTURE DU CHANGEMENT: renommez register_api_field () en register_rest_field ().

     

Introduit une fonction register_api_field () pour les versions antérieures, qui   appelle _doing_it_wrong (). Register_api_field () ne sera jamais   engagé dans le noyau WordPress, vous devez donc mettre à jour vos appels de fonction.

    
réponse donnée friendlyfire 17.12.2016 - 03:30

Lire d'autres questions sur les étiquettes