Wordpress REST API (wp-api) 404 Error
UPDATED NEW WAY
I also faced similar problem in a local project. I used index.php
after my project url and it worked.
http://localhost/myproject/index.php/wp-json/wp/v2/posts
If it displays a 404 error then update permalinks first (see "Paged Navigation Doesn't Work" section
If it works, maybe you need to enable mod_rewrite
, on ubuntu:
a2enmod rewrite
sudo service apache2 restart
Installation
The REST API is included in WordPress 4.7! Plugins are no longer required, just install the latest version of WordPress and you're ready to go.
If you're before 4.7:
Download plugin from here: http://v2.wp-api.org/
install and activate it.
Usage
To get all posts:
www.mysite.com/wp-json/wp/v2/posts
For the search functionality, searching for test post looks like this:
/wp-json/wp/v2/posts?filter[s]=test
I had this problem with the latest WordPress 4.7+. In my case the REST API only worked after I changed the permalinks setting to something other than "Plain", which was the default setting for my installation.
On WPEngine and WP 4.9.2 I only had to update permalinks to get fresh, newly installed site to return v2 API calls. What I did:
- Create site
- Browse to http://yoursitename.wpengine.com/wp-json/wp/v2/posts
- get 404
- Go to admin, settings, permalinks, choose "Post Name"
- Click "Save Changes"
- Browse to http://yoursitename.wpengine.com/wp-json/wp/v2/posts
- success. page displays JSON response