WP Manifestindependent plugin directory
manifest / developer / tetloose-rest

Tetloose REST

Enhances the WordPress REST API with camelCase keys, ACF Options, and menu endpoints.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/tetloose/tetloose-rest/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Enhances the WordPress REST API with camelCase keys, ACF Fields in REST, ACF Options, and menu endpoints

  • ✅ Adds ACF Fields to REST API
  • ✅ Converts all REST response keys to camelCase
  • ✅ Registers WordPress Menus in the REST API
  • ✅ Exposes ACF Options Pages via REST

🧱 Features

1. 🧩 Add ACF Fields to REST API

Automatically adds Advanced Custom Fields to REST responses for:

  • Pages (/wp-json/wp/v2/pages/:id)
  • Posts (/wp-json/wp/v2/posts/:id)
  • Any custom post type that is registered with show_in_rest: true

ACF fields are attached under the acf key, and all keys are camelCased.

Example Output:

{
  "id": 2,
  "title": { "rendered": "Homepage" },
  "acf": {
    "heroTitle": "Welcome",
    "heroImage": { ... }
  }
}

🔁 2. REST Keys to camelCase

  • Works on:
    • Core page responses (rest_prepare_page)
    • ACF page responses (rest_prepare_acf-page)
    • Custom endpoints (menus, options, etc.)

🍔 3. WordPress Menus in REST

Registers a custom endpoint to fetch a menu by its ID.

Endpoint:

GET /wp-json/tetloose/v1/menu/{id}

Example:

/wp-json/tetloose/v1/menu/2

Returns the full menu object and its items in camelCase.

⚙️ 4. ACF Options Page in REST

Adds a REST route to fetch ACF fields defined in the Options Page.

Endpoint:

GET /wp-json/tetloose/v1/options

Returns all ACF option page fields in camelCase.

🚀 Installation

  • Add plugin to ~/wp-content/plugins
  • Activate the plugin from WordPress Admin → Plugins

📁 Folder Structure

tetloose-rest/
├── index.php
└── functions/
    └── rest-keys-to-camel-case.php
    ├── acf-post-fields.php
    ├── acf-options-page.php
    ├── register-menu-rest-route.php
    ├── core-endpoints-to-camel-case.php