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:
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?
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
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?
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 :)
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.