PHPackages                             getolympus/olympus-hera - 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. [Framework](/categories/framework)
4. /
5. getolympus/olympus-hera

Abandoned → [getolympus/olympus-zeus-core](/?search=getolympus%2Folympus-zeus-core)Framework[Framework](/categories/framework)

getolympus/olympus-hera
=======================

Olympus Zeus framework core system used to make all your WordPress plugins and themes developments easier and efficient.

v2.3.8(2y ago)8178[4 PRs](https://github.com/GetOlympus/Zeus-Core/pulls)MITPHP

Since May 14Pushed 2y ago1 watchersCompare

[ Source](https://github.com/GetOlympus/Zeus-Core)[ Packagist](https://packagist.org/packages/getolympus/olympus-hera)[ Docs](https://github.com/GetOlympus/Zeus-Core)[ Fund](https://issuehunt.io/r/GetOlympus/Zeus-Core)[ RSS](/packages/getolympus-olympus-hera/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (21)Versions (86)Used By (0)

Olympus Zeus Core [![PHP Version](https://camo.githubusercontent.com/5cca20e0808840904e3bdecd9eba744f569477d5838c95ecca1deacf80a58be2/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7068702d762f4765744f6c796d7075732f5a6575732d436f72652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/5cca20e0808840904e3bdecd9eba744f569477d5838c95ecca1deacf80a58be2/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7068702d762f4765744f6c796d7075732f5a6575732d436f72652e7376673f7374796c653d666c61742d737175617265)
======================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

[](#olympus-zeus-core-)

> **Olympus Zeus Core** is a framework which allows you to make all your **WordPress** plugins and themes developments easier and efficient.

```
composer require getolympus/olympus-zeus-core
```

---

[![Olympus Component](https://camo.githubusercontent.com/f483886a465a9e44005a352c6c1ba6556689a579ecf0d8b984cf60becaaa878c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f666f722d4f6c796d7075732d3434636331312e7376673f7374796c653d666c61742d737175617265)](https://github.com/GetOlympus)[![CodeFactor Grade](https://camo.githubusercontent.com/0c5b40867f8c5b7366da28c420fb9614939c087ad57fa0e491a503300dea3853/68747470733a2f2f7777772e636f6465666163746f722e696f2f7265706f7369746f72792f6769746875622f4765744f6c796d7075732f5a6575732d436f72652f62616467653f7374796c653d666c61742d737175617265)](https://www.codefactor.io/repository/github/getolympus/zeus-core)[![Packagist Version](https://camo.githubusercontent.com/d125ed579efab11ba32af780fbb4c3a8713e60b11db7889f20dd4abfc76a08fd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6765746f6c796d7075732f6f6c796d7075732d7a6575732d636f72652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/getolympus/olympus-zeus-core)[![Travis Status](https://camo.githubusercontent.com/3e66e633be1822bbb36626dd654bc7bf3362ec6c31bc0c7623b3cb3d3af93900/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f4765744f6c796d7075732f5a6575732d436f72652f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/GetOlympus/Zeus-Core)[![MIT](https://camo.githubusercontent.com/68035de4b7f69ada20e98e34172f47d361b83a017c8045200fc338660c467897/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49545f4c6963656e73652d626c75652e7376673f7374796c653d666c61742d737175617265)](https://github.com/GetOlympus/Zeus-Core/blob/master/LICENSE)

---

Features
--------

[](#features)

- Better and secure folder structure
- All **Olympus fields** integrated by default
- Olympus [**Hera Renderer**](https://github.com/GetOlympus/Hera-Renderer) and [**Hermes Translator**](https://github.com/GetOlympus/Hermes-Translator)
- Symfony [**HTTP Foundation**](https://github.com/symfony/http-foundation) and [**Class loader**](https://github.com/symfony/class-loader) components
- Dependency management with [**Composer**](https://getcomposer.org)
- And more...

[![With Composer](https://camo.githubusercontent.com/dacce2a4a9e37de39f54cff61ec74d04034a3417389a8c30b0bc01792d7c475a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f776974682d436f6d706f7365722d3838353633302e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/dacce2a4a9e37de39f54cff61ec74d04034a3417389a8c30b0bc01792d7c475a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f776974682d436f6d706f7365722d3838353633302e7376673f7374796c653d666c61742d737175617265)

Initialization
--------------

[](#initialization)

To initialize `Zeus Core` from your `functions.php` WordPress theme file or main plugin php file:

```
// file: functions.php
namespace MyThemeName;

/**
 * Everything starts here.
 *
 * @package MyThemeName
 * @author  Your Name
 * @since   x.y.z
 *
 */

// Directory separator and Vendor path.
defined('S')          or define('S', DIRECTORY_SEPARATOR); // Provided by Olympus container
defined('VENDORPATH') or define('VENDORPATH', realpath(dirname(__DIR__)).S.'vendor'.S); // Provided by Olympus container

/**
 * MyThemeName class definition
 */

if (!class_exists('MyThemeName')) {
    /**
     * Use of Zeus abstract PHP class to initialize everything.
     */
    class MyThemeName extends \GetOlympus\Zeus\Zeus
    {
        /**
         * Define all useful folders
         */
        // Load option admin pages
        protected $adminpages = __DIR__.S.'controllers'.S.'adminpages';
        // Load scheduled actions
        protected $crons      = __DIR__.S.'controllers'.S.'crons';
        // Load custom post types
        protected $posttypes  = __DIR__.S.'controllers'.S.'posttypes';
        // Load custom terms
        protected $terms      = __DIR__.S.'controllers'.S.'terms';
        // Load options for users
        protected $users      = __DIR__.S.'controllers'.S.'users';
        // Load custom widgets
        protected $widgets    = __DIR__.S.'controllers'.S.'widgets';

        /**
         * Define WordPress optimizations and configurations in a single var.
         */
        protected $configurations = [
            'AccessManagement' => [/*...*/],
            'Assets'           => [/*...*/],
            'Clean'            => [/*...*/],
            'Menus'            => [/*...*/],
            'Settings'         => [/*...*/],
            'Shortcodes'       => [/*...*/],
            'Sidebars'         => [/*...*/],
            'Sizes'            => [/*...*/],
            'Supports'         => [/*...*/],
        ];

        /**
         * Main function which defines vendors path
         * and some useful actions needed by your application
         */
        protected function setVars()
        {
            // Load Zeus framework vendors.
            if (file_exists($autoload = VENDORPATH.'autoload.php')) {
                include $autoload;
            }

            // Add custom actions.
        }
    }
}

// Instanciate MyThemeName
return new MyThemeName();
```

A custom post type example
--------------------------

[](#a-custom-post-type-example)

Assuming you need a new `Movie` custom post type, here is the `controllers/posttypes/MoviePosttype.php` content file:

```
// file: controllers/posttypes/MoviePosttype.php
namespace MyThemeName\Controllers\Posttypes;

/**
 * Extends main \GetOlympus\Zeus\Posttype\Posttype class to use all functionalities
 */
class MoviePosttype extends \GetOlympus\Zeus\Posttype\Posttype
{
    /**
     * @var array
     */
    protected $args = [
        'menu_icon'     => 'dashicons-video-alt3',
        'supports'      => ['title', 'excerpt', 'thumbnail'],
        'taxonomies'    => ['post_tag'],
        'rewrite'       => [
            'slug'          => 'movie',
            'with_front'    => true,
        ],
    ];

    /**
     * @var string
     */
    protected $slug = 'movie';

    /**
     * Prepare variables.
     */
    public function setVars()
    {
        // Update labels
        $this->setLabels([
            'name'          => __('Movies', 'mythemename'),
            'singular_name' => __('Movie', 'mythemename'),
        ]);

        // Add metabox
        $this->addMetabox(__('Details', 'mythemename'), [
            \GetOlympus\Dionysos\Field\Text::build('link', [
                'title' => __('Movie source URL', 'mythemename'),
            ]),
            \GetOlympus\Dionysos\Field\Text::build('length', [
                'title' => __('Length in seconds', 'mythemename'),
            ]),
            \GetOlympus\Dionysos\Field\Text::build('author', [
                'title' => __('Author name', 'mythemename'),
            ]),
            // (...)
        ]);
    }
}
```

Release History
---------------

[](#release-history)

See [**CHANGELOG.md**](https://github.com/GetOlympus/Zeus-Core/blob/master/CHANGELOG.md) for all details.

Contributing
------------

[](#contributing)

1. Fork it ()
2. Create your feature branch (`git checkout -b feature/fooBar`)
3. Commit your changes (`git commit -am 'Add some fooBar'`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request

---

**Built with ♥ by [Achraf Chouk](http://github.com/crewstyle "Achraf Chouk") ~ (c) since a long time.**

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 94.6% of commits — single point of failure

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 ~36 days

Recently: every ~23 days

Total

80

Last Release

778d ago

Major Versions

v0.0.49 → 1.0.02018-11-25

v1.1.0 → v2.0.02019-07-14

### Community

Maintainers

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

---

Top Contributors

[![crewstyle](https://avatars.githubusercontent.com/u/1572149?v=4)](https://github.com/crewstyle "crewstyle (226 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (13 commits)")

---

Tags

corecroncustom-post-typeshooksmetaboxesolympusolympus-frameworkoptions-pagephptermsuserswordpresswordpress-developmentwordpress-frameworkzeusphpframeworkwordpresszeusolympus

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/getolympus-olympus-hera/health.svg)

```
[![Health](https://phpackages.com/badges/getolympus-olympus-hera/health.svg)](https://phpackages.com/packages/getolympus-olympus-hera)
```

PHPackages © 2026

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