Title: WUXT Headless WordPress API Extensions
Author: danielauener
Published: <strong>މެއި 20, 2019</strong>
Last modified: މެއި 20, 2019

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/wuxt-headless-wp-api-extensions.svg)

# WUXT Headless WordPress API Extensions

 By [danielauener](https://profiles.wordpress.org/danielauener/)

[Download](https://downloads.wordpress.org/plugin/wuxt-headless-wp-api-extensions.1.0.zip)

 * [Details](https://dv.wordpress.org/plugins/wuxt-headless-wp-api-extensions/#description)
 * [Reviews](https://dv.wordpress.org/plugins/wuxt-headless-wp-api-extensions/#reviews)
 *  [Installation](https://dv.wordpress.org/plugins/wuxt-headless-wp-api-extensions/#installation)
 * [Development](https://dv.wordpress.org/plugins/wuxt-headless-wp-api-extensions/#developers)

 [Support](https://wordpress.org/support/plugin/wuxt-headless-wp-api-extensions/)

## Description

This plugin adds a couple of extensions to the WordPress Rest API, which are aimed
to make the use of WordPress as headless CMS easier.
 It is originally coded for
[WUXT](https://github.com/northosts/wuxt), a dockerized development environment 
for headless WordPress combined with NuxtJs. However, it can be used by every other
application, which needs a powerful headless WordPress back-end.

### WordPress API Extensions

 * **Frontpage endpoint**: There is no obvious way to get the WordPress front-page
   via the Rest API. To read the settings, you have to be authorized, which makes
   things unnecessary complicated. The new endpoint returns the front-page object
   if it is set, the ten newest posts otherwise.
 * **Menu endpoint**: Right now, there is no way I know of, for getting menus from
   the API. This endpoint returns an entire menu as nested array. Default location
   is “main”, but you can request other locations.
 * **Slug endpoint**: If you are building a front-end app on top of WordPress, you
   have to think about how to structure your urls. WordPress has two default post-
   types (posts & pages) and in the urls is not distinguished which type you are
   requesting, so http://wp-site.expl/something might lead to a page or a post, 
   dependent on the type of the object with the slug something. If you want to mirror
   that behaviour in your app, you have to do two requests for each url, one searching
   pages, one searching posts. To make that one request, use the slug end-point.
 * **Taxonomy filter AND extension**: When filtering taxonomies with an Rest API
   request, all queries are OR-queries. That means you can get posts which are either
   in category A or B. Our adjustment lets you switch all tax_queries to an AND-
   relation, so that you can select posts which are both in category A and B.
 * **Geo query**: If your application has to get posts by geographical proximity,
   you can use a geo query.
 * **WordPress SEO meta fields**: They are included automatically in the `meta` 
   object if the Yoast WordPress SEO plugin is activated.
 * **Advanced custom fields** are included automatically in the `meta` object if
   the plugin is activated.

### Endpoints and parameters

**Frontpage**

 * `GET` `/wp-json/wuxt/v1/front-page`
 * `GET` `/wp-json/wuxt/v1/front-page?_embed`

**Menu**

 * `GET` `/wp-json/wuxt/v1/menu`
 * `GET` `/wp-json/wuxt/v1/menu?location=<location>`

**Slug**

 * `GET` `/wp-json/wuxt/v1/slug/<post-or-page-slug>`
 * `GET` `/wp-json/wuxt/v1/slug/<post-or-page-slug>?_embed`

**Taxonomy filter AND extension**

 * `GET` `/wp-json/wp/v2/posts/?categories=1,2&and=true`

**GEO query**

 * `GET` `/wp-json/wp/v2/posts/?coordinates=<lat>,<lng>&distance=<distance><km|m
   >`
 * `GET` `/wp-json/wp/v2/posts/?coordinates=<lat_meta_field>:<lat>,<lng_meta_field
   >:<lng>&distance=<distance><km|m>`
 * `GET` `/wp-json/wp/v2/posts/?coordinates=52.585,13.373&distance=10`
 * `GET` `/wp-json/wp/v2/posts/?coordinates=lat_mkey:52.585,lng_mkey:13.373&distance
   =10`
 * `GET` `/wp-json/wp/v2/posts/?coordinates=52.585,13.373&distance=10m`

### Links

 * [More detailed end-point description](https://www.danielauener.com/wordpress-rest-api-extensions-for-going-headless-wp/)
 * [WUXT](https://github.com/northosts/wuxt)
 * [WUXT release blog post](https://www.danielauener.com/nuxt-js-wordpress-wuxt/)
 * [NuxtJs](https://nuxtjs.org/)

### Credits

 * Michael Cox [Menu Class for returning a menu as array](https://gist.github.com/michaeland/191ce08d22fed74da05a)

## Screenshots

 * [[
 * Posts request extended with meta-fields from ACF and Yoast WordPress SEO
 * [[
 * New menu endpoint
 * [[
 * New front-page endpoint

## Installation

 1. Upload the `wuxt-headless-wp-api-extensions` folder to the `/wp-content/plugins/`
    directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Use the new endpoints
 4. done

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WUXT Headless WordPress API Extensions” is open source software. The following 
people have contributed to this plugin.

Contributors

 *   [ danielauener ](https://profiles.wordpress.org/danielauener/)

[Translate “WUXT Headless WordPress API Extensions” into your language.](https://translate.wordpress.org/projects/wp-plugins/wuxt-headless-wp-api-extensions)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wuxt-headless-wp-api-extensions/),
check out the [SVN repository](https://plugins.svn.wordpress.org/wuxt-headless-wp-api-extensions/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wuxt-headless-wp-api-extensions/)
by [RSS](https://plugins.trac.wordpress.org/log/wuxt-headless-wp-api-extensions/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0

 * Version 1.0 done

## Meta

 *  Version **1.0**
 *  Last updated **7 years ago**
 *  Active installations **40+**
 *  WordPress version ** 4.7.0 or higher **
 *  Tested up to **5.2.24**
 *  Language
 * [English (US)](https://wordpress.org/plugins/wuxt-headless-wp-api-extensions/)
 * Tags
 * [headless](https://dv.wordpress.org/plugins/tags/headless/)[rest-api](https://dv.wordpress.org/plugins/tags/rest-api/)
 *  [Advanced View](https://dv.wordpress.org/plugins/wuxt-headless-wp-api-extensions/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/wuxt-headless-wp-api-extensions/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wuxt-headless-wp-api-extensions/reviews/)

## Contributors

 *   [ danielauener ](https://profiles.wordpress.org/danielauener/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wuxt-headless-wp-api-extensions/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](http://www.danielauener.com/)