web-dev-qa-db-fra.com

Est le Wordpress REST API installée et activée dans une installation de Vanilla Wordpress 4.7?

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

Ma compréhension est la suivante:

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

Cependant, je remarque que dans une installation de 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? Est-ce que l'API REST peut être activée ou désactivée avec l'interface utilisateur Vanilla Wordpress, ou dois-je installer un plug-in tiers pour le faire?

26
Pep

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, et vous devriez y trouver une liste des points finaux enregistrés.

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

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

17
Mark Kaplun

Je pensais également que l’API REST était désactivée, mais l’URL me trompait. Pour voir l'URL correcte, recherchez une ligne ressemblant à ceci:

lien rel = 'https://api.w.org/' href = 'http://mysite?rest_route=/' />. Donc, en utilisant http: // mysite? Rest_route =/ comme préfixe a résolu mon problème. Par exemple, pour récupérer les articles, vous devez taper: http: // mysite? Rest_route =/wp/json

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

10
Edward

Si REST API ne fonctionne pas à la livraison ou après une nouvelle installation et après avoir tapé

mydomain/wp-json/wp/v2/posts 

alors vous devrez simplement activer vos "permaliens" en tant que post_name situé:

Tableau de bord WP-> Paramètres-> Permaliens

Ou si vous ne souhaitez pas activer les permaliens, vous pouvez simplement taper:

mydomain?rest_route=/wp/v2/posts

Je souhaite que WordPress mette à jour leur manuel Rest pour qu'il soit plus convivial. J'aime l'ancienne version de docs :)

0
samjco

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 vers 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:

BREAKING CHANGE: Renommez register_api_field () en register_rest_field ().

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

0
friendlyfire