PHPackages                             eighteen73/orbit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. eighteen73/orbit

ActiveWordpress-muplugin[Utility &amp; Helpers](/categories/utility)

eighteen73/orbit
================

Opinionated WordPress behaviour overrides

v2.5.5(4mo ago)33.4k↓50%1[3 issues](https://github.com/eighteen73/orbit/issues)MITPHPPHP &gt;=8.0CI failing

Since Jul 2Pushed 4mo ago5 watchersCompare

[ Source](https://github.com/eighteen73/orbit)[ Packagist](https://packagist.org/packages/eighteen73/orbit)[ RSS](/packages/eighteen73-orbit/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (32)Used By (0)

Orbit
=====

[](#orbit)

Orbit moulds some of WordPress' default behaviour to simplify the CMS experience, protect users from changing settings that should be reserved for website developers, and reinforce some areas of the CMS that tend to be a little weak.

The plugin is unapologetically opinionated to fit the needs and preferences of our web agency. We feel the choices we've made (including which ones are even configurable in the CMS) are sensible and pragmatic for the kinds of websites we work on and the control we tend to hold back from CMS users. We understand not everyone will agree with the choices we have made.

Installation
------------

[](#installation)

This plugin has no prerequisites. Assuming you're using a modern Composer workflow for WordPress development (such as our [Nebula](https://github.com/eighteen73/nebula) WordPress stack) just run the following command and Orbit will be installed as a must-use plugin:

```
composer require eighteen73/orbit
```

If necessary, you may install it manually by downloading a Zip archive from [GitHub](https://github.com/eighteen73/orbit) and extracting it to your plugins directory.

Summary of Features
-------------------

[](#summary-of-features)

### Branded Emails

[](#branded-emails)

- Adds branding to emails that aren't set to be 'text/html'
- Adds branding to Gravity Forms notification emails
- When possible uses WooCommerce email branding for consistenty
- Main email template can be overriden by copying `templates/branded-emails/email-template.php` into `yourtheme/orbit/branded-emails`
- Email styles template can be overriden by copying `templates/branded-emails/email-styles.php` into `yourtheme/orbit/branded-emails`

### UI Cleanup

[](#ui-cleanup)

- Remove unwanted items from the menu (with limited configuration)
- Remove unwanted items from the toolbar (with limited configuration)
- Remove unwanted dashboard widgets
- Replace the login logo (configurable)
- Remove the footer message in CMS
- Adds an environment icon to indicate the configured environment type

### Security

[](#security)

- Disable user endpoints in the REST API (configurable)
- Disable XML-RPC (configurable)
- Hide the WordPress version in page markup (configurable)
- Disable/hide unwanted website markup
    - Short links
    - REST API links
    - Oembed links
    - Windows Live Writer manifest links
- Set sensible security headers
- Disable author pages for posts

### Capabilities

[](#capabilities)

- Restrict user access based on capabilities (configurable)
- Restrict editor access based on capabilities (configurable)
- Restrict Gravity Forms access based on capabilities (configurable)

### Other Safety Measures

[](#other-safety-measures)

- Disallow robot indexing in non-production environments
- Disable updates (configurable via `orbit_enable_wordpress_updates`)

### Other Features

[](#other-features)

- Adds endpoint "/wp-json/orbit/up" for use as quick website availability check
- Load media files from a production URL in non-production environments (requires `ORBIT_REMOTE_FILES_URL` environment variable/constant)

Available Filters
-----------------

[](#available-filters)

### Branded Emails

[](#branded-emails-1)

The following filters can be used to override default behaviour/values of branded email features.

- `orbit_enable_branded_emails`: Enable Orbit's branded emails feature. Default `true` (enabled).
- `orbit_branded_emails_header_logo`: Set the logo image in branded emails. Default `''` (empty).
- `orbit_branded_emails_background_color`: Set the background color of branded emails. Default `woocommerce_email_background_color || '#ffffff'`.
- `orbit_branded_emails_body_background_color`: Set the body background color of branded emails. Default `woocommerce_email_body_background_color || '#ffffff'`.
- `orbit_branded_emails_body_border_color`: Set the border color of branded emails. Default `var(--wp--custom--color--border) || '#edeff1'`.
- `orbit_branded_emails_body_text_color`: Set the body text color of branded emails. Default `woocommerce_email_text_color || var(--wp--preset--color--contrast) || '#3f474d'`.
- `orbit_branded_emails_link_color`: Set the link color of branded emails. Default `woocommerce_email_base_color || var(--wp--custom--color--link) || '#8549ff'`.
- `orbit_branded_emails_footer_text_color`: Set the footer text color of branded emails. Default `woocommerce_email_footer_text_color || var(--wp--preset--color--contrast) || '#3F474d'`.
- `orbit_branded_emails_font_family`: Set the font family of branded emails. Default `woocommerce_email_font_family || '"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif'`.
- `orbit_branded_emails_logo_image_width`: Set the logo image width in branded emails. Default `woocommerce_email_header_image_width || 120`.

### UI Cleanup

[](#ui-cleanup-1)

The following filters can be used to override the default behavior of certain features. Set the filter to `true` to enable the feature, or `false` to disable it.

- `orbit_enable_menu_item_dashboard`: Control the visibility of the Dashboard menu item. Default `true` (visible).
- `orbit_enable_menu_item_posts`: Control the visibility of the Posts menu item. Default `true` (visible).
- `orbit_enable_menu_item_comments`: Control the visibility of the Comments menu item and toolbar item. Default `false` (hidden).
- `orbit_enable_toolbar_item_new_content`: Control the visibility of the "New Content" item in the toolbar. Default `true` (visible).
- `orbit_enable_login_logo`: Enable replacement of the login logo. Default `true` (enabled).
- `orbit_login_logo_url`: Provide a URL to replace the default WordPress login logo. No default.
- `orbit_enable_admin_environment_name`: Control the display of the environment name in the admin area. Default `true` (enabled).

### Security

[](#security-1)

The following filters can be used to override the default behavior of certain features. Set the filter to `true` to enable the feature, or `false` to disable it.

- `orbit_enable_rest_api_user_endpoints`: Enable or disable REST API user endpoints. Default `false` (disabled).
- `orbit_enable_xmlrpc`: Enable or disable XML-RPC functionality. Default `false` (disabled).
- `orbit_enable_expose_wordpress_version`: Show or hide the WordPress version in the site's frontend markup. Default `false` (hidden).
- `orbit_default_security_headers`: Set an array of security headers.
- `orbit_enable_author_pages`: Enable or disable author pages for posts. Default `false` (disabled).

### Capabilities

[](#capabilities-1)

The following filters can be used to override the default behavior of certain features. Set the filter to `true` to enable the feature, or `false` to disable it.

- `orbit_enable_user_caps_access`: Enable Orbit's user capability restrictions. Default `true` (enabled).
- `orbit_enable_editor_caps_access`: Enable Orbit's editor capability restrictions. Default `true` (enabled).
- `orbit_enable_gravity_forms_access`: Enable Orbit's Gravity Forms capability restrictions. Default `true` (enabled).

### Other Safety Measures

[](#other-safety-measures-1)

The following filters can be used to override the default behavior of certain features. Set the filter to `true` to enable the feature, or `false` to disable it.

- `orbit_enable_wordpress_updates`: Control the visibility of the WordPress updates item in the toolbar. Default `false` (hidden).

### Other Features

[](#other-features-1)

- `orbit_remote_files_url`: Override the production URL used for loading remote media files. Default value comes from `ORBIT_REMOTE_FILES_URL`.

### Examples

[](#examples)

You can use standard WordPress functions like `__return_true` and `__return_false` to easily toggle these features. Add the following lines to your theme or a custom plugin:

```
// Example: Enable XML-RPC (Orbit disables it by default)
add_filter( 'orbit_enable_xmlrpc', '__return_true' );

// Example: Show the WordPress version in the site markup (Orbit hides it by default)
add_filter( 'orbit_enable_expose_wordpress_version', '__return_true' );

// Example: Disable the Posts menu item (Orbit shows it by default)
add_filter( 'orbit_enable_menu_item_posts', '__return_false' );

// Example: Disable the login logo replacement (Orbit enables it by default)
add_filter( 'orbit_enable_login_logo', '__return_false' );
```

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance56

Moderate activity, may be stable

Popularity25

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~53 days

Recently: every ~3 days

Total

25

Last Release

132d ago

Major Versions

v1.4.2 → v2.0.02025-04-24

PHP version history (2 changes)v1.0.0PHP &gt;=7.4

v1.4.0PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/a6334a9b62ab581e2a9fe889d0e1777463e02096e38d941351ca2800f1460a8d?d=identicon)[edjeavons](/maintainers/edjeavons)

![](https://www.gravatar.com/avatar/892c0716ab606189211e31c70047104e48067d22fc385770b193d89e8a056164?d=identicon)[brettsmason](/maintainers/brettsmason)

---

Top Contributors

[![edjeavons](https://avatars.githubusercontent.com/u/735284?v=4)](https://github.com/edjeavons "edjeavons (103 commits)")[![DanielHudson2](https://avatars.githubusercontent.com/u/35522603?v=4)](https://github.com/DanielHudson2 "DanielHudson2 (90 commits)")[![brettsmason](https://avatars.githubusercontent.com/u/73229?v=4)](https://github.com/brettsmason "brettsmason (40 commits)")

---

Tags

composer-packagewordpress-plugin

### Embed Badge

![Health badge](/badges/eighteen73-orbit/health.svg)

```
[![Health](https://phpackages.com/badges/eighteen73-orbit/health.svg)](https://phpackages.com/packages/eighteen73-orbit)
```

###  Alternatives

[jms/php-manipulator

Library for Analyzing or Manipulating PHP files using the TokenStream, AST, or both

10637.6k1](/packages/jms-php-manipulator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
