PHPackages                             offset/packs - 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. offset/packs

ActivePackage[Utility &amp; Helpers](/categories/utility)

offset/packs
============

Create Offset packs

1.1.0(4y ago)09MITPHPPHP &gt;=7.0

Since Dec 30Pushed 4y agoCompare

[ Source](https://github.com/offsetwp/packs)[ Packagist](https://packagist.org/packages/offset/packs)[ Docs](https://github.com/offsetwp/packs)[ RSS](/packages/offset-packs/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (4)Used By (0)

Packs - Create Offset packs
===========================

[](#packs---create-offset-packs)

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

[](#installation)

```
composer require offset/packs
```

Use
---

[](#use)

For create a pack

```
use Offset\Pack;
use Offset\Packs;

class PackDemo extends Pack
{
    public $title = 'Demo';
    public $name = 'demo';
    public $version = '1.0.0';
    public $dir = __DIR__ . '/blocks';
    public $url = '/wp-content/plugins/offset-demo/blocks';
    public $editor_styles = array(
        array(
            'handle' => 'offset-demo-editor-style',
            'src' => '/wp-content/plugins/offset-demo/assets/css/admin.css',
        ),
    );
    public $editor_scripts = array(
        array(
            'handle' => 'offset-demo-editor-script',
            'src' => '/wp-content/plugins/offset-demo/assets/js/admin.js',
        ),
    );
    public $styles = array(
        array(
            'handle' => 'offset-demo-style',
            'src' => '/wp-content/plugins/offset-demo/assets/css/style.css',
        ),
    );
    public $scripts = array(
        array(
            'handle' => 'offset-demo-script',
            'src' => '/wp-content/plugins/offset-demo/assets/js/script.js',
        ),
    );
}

$packs_manager = Packs::getInstance();
$pack_demo = new PackDemo();

$packs_manager->addPack($pack_demo);
```

### Filters

[](#filters)

- `offset_packs_is_styles_enqueue`
- `offset_packs_is_scripts_enqueue`
- `offset_packs_styles`
- `offset_packs_scripts`
- `offset_packs_styles_enqueued`
- `offset_packs_scripts_enqueued`

#### `offset_packs_is_styles_enqueue`

[](#offset_packs_is_styles_enqueue)

Removes all styles that need to be loaded with the packs

##### Example

[](#example)

```
add_filter('offset_packs_is_styles_enqueue', '__return_false');
```

#### `offset_packs_is_scripts_enqueue`

[](#offset_packs_is_scripts_enqueue)

Removes all scripts that need to be loaded with the packs

##### Example

[](#example-1)

```
add_filter('offset_packs_is_scripts_enqueue', '__return_false');
```

#### `offset_packs_styles`

[](#offset_packs_styles)

##### Parameters

[](#parameters)

- `$packs` - `array` - The list of packs that load styles

##### Example

[](#example-2)

```
function packs_styles($packs) {
    return array_diff($packs, array('demo')); // Remove styles from "Demo" pack
}

add_filter('offset_packs_styles', 'packs_styles', 10, 1);
```

#### `offset_packs_scripts`

[](#offset_packs_scripts)

##### Parameters

[](#parameters-1)

- `$packs` - `array` - The list of packs that load scripts

##### Example

[](#example-3)

```
function packs_scripts($packs) {
    return array_diff($packs, array('demo')); // Remove scripts from "Demo" pack
}

add_filter('offset_packs_scripts', 'packs_scripts', 10, 1);
```

#### `offset_packs_styles_enqueued`

[](#offset_packs_styles_enqueued)

##### Parameters

[](#parameters-2)

- `$packs_styles` - `array` - The list of styles are loaded

```
// Remove bootstrap style load by packs
function packs_styles_enqueued($packs_styles) {
    return array_filter($packs_styles, function ($style) {
        return !is_int(mb_stripos($style['src'], 'bootstrap'));
    });
}
add_filter('offset_packs_styles_enqueued', 'packs_styles_enqueued', 10, 1);
```

#### `offset_packs_scripts_enqueued`

[](#offset_packs_scripts_enqueued)

##### Parameters

[](#parameters-3)

- `$packs_scripts` - `array` - The list of scripts are loaded

```
// Remove bootstrap script load by packs
function packs_scripts_enqueued($packs_scripts) {
    return array_filter($packs_scripts, function ($script) {
        return !is_int(mb_stripos($script['src'], 'bootstrap'));
    });
}
add_filter('offset_packs_scripts_enqueued', 'packs_scripts_enqueued', 10, 1);
```

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~3 days

Total

2

Last Release

1642d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f92310287db168bd8da8a7b15d26e9e0849a6c7ab9a30d7fc32497d7e5f4bab8?d=identicon)[w-jerome](/maintainers/w-jerome)

---

Top Contributors

[![w-jerome](https://avatars.githubusercontent.com/u/1685550?v=4)](https://github.com/w-jerome "w-jerome (5 commits)")

---

Tags

wordpressblockgutenbergoffset

### Embed Badge

![Health badge](/badges/offset-packs/health.svg)

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

###  Alternatives

[log1x/poet

Configuration-based post type, taxonomy, editor color palette, block category, and block registration for Sage 10.

219300.5k1](/packages/log1x-poet)[log1x/acf-editor-palette

A replica Gutenberg color picker field for Advanced Custom Fields.

101308.4k](/packages/log1x-acf-editor-palette)[infinum/eightshift-libs

WordPress libs developed by Eightshift team to use in modern WordPress.

63125.5k3](/packages/infinum-eightshift-libs)[generoi/wp-gutenberg-button-popup

A boilerplate WordPress Gutenberg block

171.7k](/packages/generoi-wp-gutenberg-button-popup)[tiny-pixel/acorn-block-templates

Block templates for Sage 10

191.3k](/packages/tiny-pixel-acorn-block-templates)

PHPackages © 2026

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