Plugin info

Total downloads: 1,272
Active installs: 10
Total reviews: 0
Average rating: 0
Support threads opened: 0
Support threads resolved: 0 (0%)
Available in: 1 language(s)
Contributors: 1
Last updated: 5/15/2020 (2056 days ago)
Added to WordPress: 10/5/2019 (6 years old)
Minimum WordPress version: 5.0
Tested up to WordPress version: 5.3.20
Minimum PHP version: 7.1

Maintenance & Compatibility

Maintenance score

Possibly abandoned • Last updated 2056 days ago

20/100

Is Arha Routes abandoned?

Possibly abandoned (last update 2056 days ago).

Compatibility

Requires WordPress: 5.0
Tested up to: 5.3.20
Requires PHP: 7.1

Similar & Alternatives

Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.

Make Connector
Rating 2.7/5 (25 reviews)Active installs 80,000
WPGet API – Connect to any external REST API
Rating 5.0/5 (30 reviews)Active installs 10,000
WP REST API Controller
Rating 4.3/5 (12 reviews)Active installs 10,000
Get Use APIs – JSON Content Importer
Rating 4.9/5 (78 reviews)Active installs 6,000
Health Endpoint
Rating 5.0/5 (2 reviews)Active installs 2,000
Custom API for WP
Rating 4.8/5 (44 reviews)Active installs 1,000

Description

WordPress plugin that helps to serve content through REST routes and gives
customizability to developers through filters.

Available Routes

  • /wp-json/arha/v1/post
  • /wp-json/arha/v1/page
  • /wp-json/arha/v1/options
  • /wp-json/arha/v1/archive

Example queries

  • /wp-json/arha/v1/post?post_type=POST_TYPE&slug=SLUG
  • /wp-json/arha/v1/page?path=PATH
  • /wp-json/arha/v1/options
  • /wp-json/arha/v1/archive?post_type=POST_TYPE&posts_per_page=POSTS_PER_PAGE&paged=PAGED&orderby=ORDERBY&order=ORDER

tax_query and meta_query in archive-route

  • tax_query and meta_query are supported and they work how the query is built for it in new WP_Query()
  • both needs their values to bes passed in as stringified json

Multiple post_types in archive-route

  • To pass multiple post_types in archive-route, use syntax that lets PHP read GET-param as an array. https://stackoverflow.com/a/9547490

Filters

  • To exclude querying specific post types from post– and archive-routes, you
    can use following filters:

    `
    add_filter(‘arha_routes/archive_excluded_post_types’, ‘exclude_post_types’);
    add_filter(‘arha_routes/post_excluded_post_types’, ‘exclude_post_types’);

function exclude_post_types($excluded_post_types) {
$excluded_post_types = [‘post’];
return $excluded_post_types;
}
`

  • To format post-route’s post before it’s served to client, use arha_routes/format_post-filter
    `
    add_filter(‘arha_routes/format_post’, ‘format_post’);

function format_post($post) {
return $post;
}
`

  • To format page-route’s post before it’s served to client, use arha_routes/format_page-filter
    `
    add_filter(‘arha_routes/format_page’, ‘format_page’);

function format_page($page) {
return $page;
}
`

  • To format archive-route’s posts before they are served to client, use arha_routes/format_archive_post-filter

    add_filter('arha_routes/format_archive_post', 'format_archive_post');
    function format_archive_post($post) {
    return $post;
    }

  • options-route returns empty result by default. To add content to it, use arha_routes/format_options-filter
    `
    add_filter(‘arha_routes/format_options’, ‘format_options’);

function format_options($options) {
return $options;
}
`

  • By default Arha Routes returns only published content with post-, page- and archive-route, this can be modified by adding following filters.
    `
    // for archive route
    add_filter(‘arha_routes/allowed_post_statuses_archive’, ‘allowed_post_statuses’);
    // for post route
    add_filter(‘arha_routes/allowed_post_statuses_post’, ‘allowed_post_statuses’);
    // for page route
    add_filter(‘arha_routes/allowed_post_statuses_page’, ‘allowed_post_statuses’);
    function allowed_post_statuses($post_statuses) {
    // … change post_statuses array

    return $post_statuses;
    }
    `
    After adding setting up these filters, request can include “post_status” parameter and it will be compared to $post_statuses array.

SearchWP

Arha Routes supports SearchWP-plugin, which lets WP users to make keyword search engine for their content.

Activating SearchWP-plugin adds optional keyword-search functionality to archive-route. This is done by adding s=KEYWORD to the route
– Example: /wp-json/arha/v1/archive?post_type=products&posts_per_page=10&paged=1&orderby=date&order=ASC&s=monitor

Polylang

Arha Routes supports Polylang-plugin, which allows users to create content in multiple languages.

Activating Polylang changes how endpoints work:

  • All routes require additional lang-param
    • Example: /wp-json/arha/v1/archive?post_type=products&posts_per_page=10&paged=1&orderby=date&order=ASC&lang=en
  • page-route doesn’t support language prefix in path
    • Example: Permalink /zh/info, use like this /wp-json/arha/v1/page?path=/info&lang=zh
    • Example: Permalink /en/info/test, use like this /wp-json/arha/v1/page?path=/info/test&lang=zh
  • options-route passes lang-param forward to arha_routes/format_options-filter
    add_filter('arha_routes/format_options', 'format_options', 10, 2);
    function format_options($options, $lang) {
    return $options;
    }

Polylang + SearchWP

In order to make these two plugins work together, you need to add extra plugin to WP installation.

https://searchwp.com/extensions/polylang-integration/

Installation

No installation instructions available

Frequently Asked Questions

No FAQ available

Review feed

No reviews available

Screenshots

No screenshots available

Changelog

No changelog available