L'API REST Wordpress est-elle installée et activée dans une installation de Wordpress 4.7 vanille?
-
-
Y a-t-il unebalise de découverte dans la source de lapage?`` Semblefonctionner uniquement surmes sites.Is there discovery tag in page source? `` Seems to just work on my sites.
- 1
- 2016-12-10
- Rarst
-
@Rarst,sije `grep -r" \n"; `@Rarst, if I `grep -r "\n";`
- 0
- 2016-12-10
- Pep
-
Pas dans votre code _source_,dans la source HTML d'unepage de votre site dans lenavigateur.Not in your _source_ code, in the HTML source of a page from your site in browser.
- 0
- 2016-12-10
- Rarst
-
@Rarst,ouije vois ``@Rarst, yes I see ``
- 1
- 2016-12-10
- Pep
-
Qu'est-ce que l'ouverture du lien dans lenavigateur vous apporte?Avec WP_DEBUG activé?What does opening the link in browser get you? With WP_DEBUG enabled?
- 0
- 2016-12-10
- Rarst
-
J'obtiens un 404pour `http://example.com/wp-json/`tous les deux avec `WP_DEBUG` défini sur`true` ou `false`.I get a 404 for `http://example.com/wp-json/` both with `WP_DEBUG` set as `true` or `false`.
- 0
- 2016-12-10
- Pep
-
4 réponses
- votes
-
- 2016-12-10
4.7 l'a activépar défaut.Lemoyen leplus simple de vérifier si celafonctionneest simplement de visiter l'urlexample.com/wp-json,et vous devriez y obtenir une liste despoints determinaisonenregistrés
Iln'y apas d'option officiellepour le désactiver car (aumoins onen aparlé,je ne saispas s'il était dans la version),certainesfonctionnalités debaseen dépendent.
Les choses lesplus évidentes à vérifier si celane fonctionnepas sont vos règles htaccess,et avez-vous un répertoire wp-json
4.7 has it enabled by default. The easy way to check if it is working is just to visit the example.com/wp-json url, and you should get a list of registered end points there
There is no official option to disable it as (at least there was a talk about it not sure if it got in the release), some core functionality depends on it.
The most obvious things to check for if it is not working is your htaccess rules, and do you have a wp-json directory
-
Jen'aipas de répertoire wp-json sous `/var/www/html` ou ses sous-répertoires.Jene semblepas avoir defichier `.htaccess` (autre que`/var/www/html/wp-content/plugins/akismet/.htaccess`,dois-jeen avoir un?I do not have a wp-json directory under `/var/www/html` or its subdirectories. I do not seem to have a `.htaccess` file (other than `/var/www/html/wp-content/plugins/akismet/.htaccess`, should I have one?
- 0
- 2016-12-10
- Pep
-
@Pep,quel serveur Web utilisez-vous?avez-vous dejolispermaliens?@Pep, what webserver do you use? do you have pretty permalinks on?
- 0
- 2016-12-10
- Mark Kaplun
-
Apache.J'ai suiviexactement les étapes de cestutorielspourinstaller Wordpress 4.7 sur AWS: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.htmlet http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hosting-wordpress.htmlApache. I followed exactly the steps in these tutorials to install Wordpress 4.7 on AWS: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html and http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hosting-wordpress.html
- 0
- 2016-12-10
- Pep
-
Vousn'êtespasfamilier avec AWSmais si vous avezinstallé un wordpress vanilla,vous devriez avoir un .htaccess à la racine de votreinstallation.Si cen'estpas le cas,essayez d'aller à la configuration>permaliens,assurez-vous que vousn'êtespas sur le réglage simple,enregistrez,puis vérifiez si un htaccess a étégénérénot familiar with AWS but if you installed a vanilla wordpress you should have had an .htaccess at the root of your install. If not try to go to setting > permalinks, make sure you are not on the plain setting, save, and then check if an htaccess was generated
- 0
- 2016-12-10
- Mark Kaplun
-
J'aieu lepermalien avec lesparamètres "Plain".Je l'ai changéen "Nom dumessage".Wordpressn'apaspuenregistrer lefichier .htaccess,apparemment à cause des autorisations,ilm'a donc donné le code.J'ai créé unfichier `.htaccess`en utilisant` ssh` avec ce contenu.Cependant,l'API REST continue de renvoyer 404,mêmepour http:example.com/wp-json/I had the permalink with the "Plain" settings. I changed it to "Post name". Wordpress could not save the .htaccess file apparently because of permissions, so it gave me the code. I created a `.htaccess` file using `ssh` with that content. However, the REST API continues to return 404, even for http:example.com/wp-json/
- 0
- 2016-12-10
- Pep
-
ne devraitpas obtenir 404. Vérifiez si d'autresjolies URLfonctionnent,comme lemessagepar défaut.Si cen'estpas le cas,vous aveztoujours unproblème htaccessshould not get 404. check if any other pretty url work, like the default post. If it doesn't then you still have an htaccess problem
- 0
- 2016-12-10
- Mark Kaplun
-
Il semble que Permalinkfonctionne dutout,pas seulement lespoints determinaison de l'API.J'aijusteindiqué queje nepouvais accéder qu'auxpublications debot avec "Plain",sije change les Permaliensen une autre valeur,je reçois l'avertissement queje devrais changer lefichier `.htaccess`manuellement,ce queje fais,maisensuitej'obtiens 404mêmepour les articles deblog.Donc,je pense quemonproblèmeest avec Permalink al large,plutôt qu'avec l'API REST uniquement.Peut-être que "fichier .htaccessnon accessibleen écriture"est le symptôme d'un autreproblème.It seems that Permalink does work at all, not only the API endpoints. I just ntoced that I only can access to bot posts with "Plain", if I change Permalinks to any other value, I get the warning that I should change the `.htaccess` file manually, which I do, but then I get 404 even for blog posts. So I think that my issue is with Permalink al large, rather than with the REST API only. Perhaps that ".htaccess file not writeable" is a symtom of some other issue.
- 0
- 2016-12-10
- Pep
-
avez-vousmod_rewriteinstalléet activé?do you have mod_rewrite installed and activated?
- 0
- 2016-12-10
- Mark Kaplun
-
J'aienfin trouvé leproblème.Parce queje ne savaispas que Permalink seraitnécessairepour que l'API RESTfonctionne,j'ai sauté lors de la configurationinitiale l'étapepour définir `AllowOverride All` dans la section`
`de`/etc/httpd/conf/httpd.conf`.C'estpourquoiilignoraitmesmodifications apportées à `.htaccess`.Désormais,avec unpermalien autre que PLain,lespoints determinaison de l'API RESTfonctionnent. I found finally the issue. Because I did not know that Permalink would be required for the REST API to work, I skipped during initial setup the step to set `AllowOverride All` in the ``section of `/etc/httpd/conf/httpd.conf`. That's why it was ignoring my changes to `.htaccess`. Now with a permalink other than PLain, the REST API endpoints work. - 7
- 2016-12-10
- Pep
-
Si vous utilisez despermaliensnonjolis,vous deveztransmettre la route de l'API RESTen tant queparamètre de chaîne de requête.La route http://oursite.com/wp-json/dans l'exemple ci-dessus serait donc http://oursite.com/?rest_route=/"https://developer.wordpress.org/rest-api/#routes-endpoints "If you’re using non-pretty permalinks, you should pass the REST API route as a query string parameter. The route http://oursite.com/wp-json/ in the example above would hence be http://oursite.com/?rest_route=/ "https://developer.wordpress.org/rest-api/#routes-endpoints"
- 0
- 2019-01-03
- deepcell
-
- 2017-06-27
J'avais 4.7pensé aussi que l'API REST était désactivée,maisj'ai ététrompépar l'URL.Pour voir l'URL correcte,recherchez une ligne ressemblant à quelque chose comme ça:
link rel='
https://api.w.org/
' href='http://mysite?rest_route=/
'/>. Donc,utiliser http://mysite? Rest_route=/ commepréfixe a résolumonproblème.Parexemple,pour récupérer lesmessages,il suffit detaper: http://mysite? Rest_route=/wp/jsonJen'aipasputrouver dans la documentation que leparamètre de requête étaitnécessaire.Étais-je le seul?
I had 4.7 also thought that REST API was disabled, but I was tricked by the URL. To see the correct URL seek a line looking something like that:
link rel='
https://api.w.org/
' href='http://mysite?rest_route=/
' />. So, using http://mysite?rest_route=/ as the prefix solved my problem. For instance to recover the posts is enought to type: http://mysite?rest_route=/wp/jsonI couldn't find on documentation that the query param was needed. Was I the only one?
-
Atravaillépourmoi avec wordpress 4.8.x Jene saispaspourquoi celan'est documenténullepart.Worked for me with wordpress 4.8.x Not sure why this is not documented anywhere.
- 0
- 2017-08-31
- Anirudha
-
Pas le seul.N'atrouvé cette réponse dans votre commentaire qu'après 10minutes de recherche.Nécessaire àfaire: `www.example.com? Rest_route=/wp/v2/posts`Not the only one. Only found this answer in your comment after 10min searching. Needed to do: `www.example.com?rest_route=/wp/v2/posts`
- 2
- 2018-02-07
- Eugene K
-
Jepense que cela seproduit lorsque lesjolispermaliensne sontpas activés.Depuis les [docs] (https://developer.wordpress.org/rest-api/extending-the-rest-api/routes-and-endpoints/#routes-vs-endpoints) ... "Sur les sites sansjolispermaliens,la routeest à laplace ajoutée à l'URLen tant queparamètre rest_route. Pour l'exemple ci-dessus,l'URL complète serait alors http://example.com/?rest_route=/wp/v2/posts/123"I think this happens when pretty permalinks aren't enabled. From the [docs](https://developer.wordpress.org/rest-api/extending-the-rest-api/routes-and-endpoints/#routes-vs-endpoints)... "On sites without pretty permalinks, the route is instead added to the URL as the rest_route parameter. For the above example, the full URL would then be http://example.com/?rest_route=/wp/v2/posts/123"
- 4
- 2018-07-19
- Giles Butler
-
le voici -> https://developer.wordpress.org/rest-api/#routes-endpointshere it is -> https://developer.wordpress.org/rest-api/#routes-endpoints
- 0
- 2019-01-03
- deepcell
-
Très utile si voustestezen utilisant le serveur PHPintégré `php -S localhost: 1234`.Very useful if you are testing out using PHP builtin sever `php -S localhost:1234`.
- 0
- 2020-09-02
- Juan Javier Triff Cabanas
-
- 2019-05-29
Si l'API RESTne fonctionnepas directement ou après unenouvelleinstallationet après la saisie
mydomain/wp-json/wp/v2/posts
alors vous devrez simplement activer vos "permaliens"en tant quepost_name situé:
WP Dashboard-> Paramètres-> Permaliens
Ou si vousne souhaitezpas activer lespermaliens,vouspouvez simplementtaper:
mydomain?rest_route=/wp/v2/posts
Mec,j'aimerais que WordPressmette àjour sonmanuel Restpour qu'il soitplus convivial.J'aime l'ancienne version de la documentation :)
If REST API isn't working out-of-box or after a fresh install and after typing in
mydomain/wp-json/wp/v2/posts
then you would need to simply activate your "permalinks" as post_name located:
WP Dashboard->Settings->Permalinks
Or if you do not wish to activate permalinks, you can simply type:
mydomain?rest_route=/wp/v2/posts
Man, I wish WordPress would update their Rest handbook to be more user-friendly. I like the old version of docs :)
-
- 2016-12-17
Je vois que vous avez résolu leproblème,maisen laissantma solutionici carellefonctionnait aussipourmoi.J'aieu cemêmeproblème lors de lamise àjour de la versionbeta15 vers l'apiprincipale dans wp 4.7 Il s'avère que leproblème était quej'avais desplugins qui utilisaient unefonction obsolète register_api_field quej'ai changéeen register_rest_field selon cettenote dans le changelog:
BREAKING CHANGE: Renommez register_api_field ()en register_rest_field ().
Introduit unefonction register_api_field ()pour la compatibilité descendante,qui appelle _doing_it_wrong ().Cependant,register_api_field ()ne serajamais engagé au cœur de WordPress,vous devez doncmettre àjour vos appels defonction.
I see you have fixed the issue but leaving my solution here as it worked for me too. I had this same issue when updating from beta15 to the core api in wp 4.7 Turns out the issue was that I had some plugins that were using a deprecated function register_api_field which I changed to register_rest_field according to this note in the changelog:
BREAKING CHANGE: Rename register_api_field() to register_rest_field().
Introduces a register_api_field() function for backwards compat, which calls _doing_it_wrong(). However, register_api_field() won't ever be committed to WordPress core, so you should update your function calls.
Je viens d'installer Wordpress 4.7.L'une desmentions dans l'annonceest qu'il comporte une API REST.
Ma compréhensionest:
Cependant,je remarque que dans uneinstallation de Wordpress 4.7 vanille,aucun despoints determinaisonne semblefonctionner (parexemple
http://examples.com/wp-json/wp/v2/posts
).Commentpuis-je savoir si lanouvelle API RESTest vraiment activée?L'API RESTpeut-elle être activée ou désactivée avec l'interface utilisateur de Wordpress vanilla,ou dois-jeinstaller unplugintierspour lefaire?