WordPress plugin intelligence profile

Arha Routes

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

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 5.3
Current version1.5
WordPress coverageTested up to WordPress 5.3
Minimum stackWP 5.0 · PHP 7.1
Directory statusactive
Last directory update15 May 20206y ago
Active installations10Adoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Arha Routes version 1.5 as active, updated 6y ago and tested up to WordPress 5.3.

Overview

About this plugin

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

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.

com/extensions/polylang-integration/

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • bilingual
  • endpoint
  • language
  • multilingual
  • rest
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 5.3

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 5.3.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to5.3
Minimum requirementsWordPress 5.0 · PHP 7.1
Update activity15 May 20206y ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.