PHPackages                             het-weblokaal/wbl-theme-foundation - 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. het-weblokaal/wbl-theme-foundation

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

het-weblokaal/wbl-theme-foundation
==================================

A theme foundation by Het Weblokaal

0.2(4y ago)142GPL-2.0-or-laterPHPPHP &gt;=7.0

Since May 4Pushed 4y ago1 watchersCompare

[ Source](https://github.com/het-weblokaal/wbl-theme-foundation)[ Packagist](https://packagist.org/packages/het-weblokaal/wbl-theme-foundation)[ Docs](https://github.com/het-weblokaal/wbl-theme-foundation)[ RSS](/packages/het-weblokaal-wbl-theme-foundation/feed)WikiDiscussions main Synced yesterday

READMEChangelogDependenciesVersions (6)Used By (0)

WBL Theme Foundation
====================

[](#wbl-theme-foundation)

We have made several custom themes while trying to maintain similar structures and coding practices. We found the need to centralize it to reduce scattered code. This foundation brings together our theme-code. The purpose is to provide an organizational structure, a starting-point ánd offer a rigid template framework.

This is a work in progress. Be warned :)

Install &amp; Boot
==================

[](#install--boot)

Install through composer: `composer install het-weblokaal/wbl-theme-foundation`

And then boot it in your functions.php: `require_once( __DIR__ . '/vendor/het-weblokaal/wbl-theme-foundation/bootstrap.php' );`

Why not autoload?
-----------------

[](#why-not-autoload)

When I develop the foundation I like to work in a seperate git-directory when developing the theme foundation. I can then just load a different boot-file.

```
require_once( __DIR__ . '/../wbl-theme-foundation/bootstrap.php' );
Template::customize(['foundation_template_dir' => '../wbl-theme-foundation/template/views']);

```

*Probably not best-practice, but it works for me now.*

Theme organization
==================

[](#theme-organization)

...

Theme setup
===========

[](#theme-setup)

Opinionated theme setup. This prevents a lot of repetitiveness in all our themes.

To-do: Make it more flexible, so that themes can easily decide which features it wants to us and which not. But for now this is OK.

Templating
==========

[](#templating)

The goal of templating in this framework:

- Offering a startpoint for creating new sites
- Making it easier to implement own templates

The templates should be flexible and easy to understand. On the other hand, the amount of code should be low to prevent too much repetivity.

Developer
=========

[](#developer)

Some guidelines:

- Only hook an anonymous functions to an action if the theme can easily override the functionality. Otherwise create a seperate function.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

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

Total

3

Last Release

1806d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/449a33c2a15273100acaac3bdac67160c29187da7a4596b3ea471df1198e6bf7?d=identicon)[erik\_hetweblokaal](/maintainers/erik_hetweblokaal)

---

Tags

wordpress

### Embed Badge

![Health badge](/badges/het-weblokaal-wbl-theme-foundation/health.svg)

```
[![Health](https://phpackages.com/badges/het-weblokaal-wbl-theme-foundation/health.svg)](https://phpackages.com/packages/het-weblokaal-wbl-theme-foundation)
```

###  Alternatives

[tgmpa/tgm-plugin-activation

TGM Plugin Activation is a PHP library that allows you to easily require or recommend plugins for your WordPress themes (and plugins).

1.8k222.5k13](/packages/tgmpa-tgm-plugin-activation)[aristath/kirki

Extending the WordPress customizer

1.3k73.0k4](/packages/aristath-kirki)[afragen/git-updater

A plugin to automatically update GitHub, Bitbucket, GitLab, or Gitea hosted plugins, themes, and language packs.

3.3k1.6k](/packages/afragen-git-updater)[justintadlock/hybrid-carbon

God-like post featured image script.

202.5k](/packages/justintadlock-hybrid-carbon)[typisttech/wp-admin-notices

A simplified OOP implementation of the WordPress admin notices

141.2k](/packages/typisttech-wp-admin-notices)

PHPackages © 2026

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