PHPackages                             wieni/wmcontent - 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. wieni/wmcontent

ActiveDrupal-module

wieni/wmcontent
===============

Adds configurable entity containers to entity types (for e.g. paragraphs)

2.5.0(3mo ago)024.7k↓42.6%2[6 issues](https://github.com/wieni/wmcontent/issues)1MITPHPPHP ^8.1

Since Nov 17Pushed 3mo ago4 watchersCompare

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

READMEChangelog (10)Dependencies (4)Versions (87)Used By (1)

wmcontent
=========

[](#wmcontent)

[![Latest Stable Version](https://camo.githubusercontent.com/3947411fbe9d118359810cdef87efe636cd64eed8c18d9d76fc8f6c37e99fff6/68747470733a2f2f706f7365722e707567782e6f72672f7769656e692f776d636f6e74656e742f762f737461626c65)](https://packagist.org/packages/wieni/wmcontent)[![Total Downloads](https://camo.githubusercontent.com/a09b263d20d6f4f3d2b328af05cd3ab859c248414c7b99968d5045b91211ab39/68747470733a2f2f706f7365722e707567782e6f72672f7769656e692f776d636f6e74656e742f646f776e6c6f616473)](https://packagist.org/packages/wieni/wmcontent)[![License](https://camo.githubusercontent.com/6563e45c7cea427bb9cc7fc77aa8083ee09903a047bc6ef63067cf6fb2461805/68747470733a2f2f706f7365722e707567782e6f72672f7769656e692f776d636f6e74656e742f6c6963656e7365)](https://packagist.org/packages/wieni/wmcontent)

> Adds configurable entity containers to entity types (for e.g. paragraphs)

Why?
----

[](#why)

In Drupal 7 we noticed a couple of shortcomings with the [Paragraphs](https://www.drupal.org/project/paragraphs) module (that are still not solved in Drupal 8 AFAWK).

- **Backend performance improvements**: Paragraphs creates a widget within the default entity edit forms. This did not only clutter the interface when using &gt; 10 paragraphs, the form itself would regularly become too large and break any decent PHP memory setting on submitting/saving. This module provides a separate tab for its content, instead of mixing it in with the node edit form through inline entity forms or similar solutions.
- **Frontend performance improvements**: The *paragraphs* of an entity are loaded separately from the standard entity data, which solves memory issues when displaying a lot of entities on a page.
- **UI improvements**: Features like cloning/duplication of paragraphs as well as drag and drop sorting of paragraphs become easier when not integrated in the default entity edit form.
- **More flexibility**: This module allows multiple lists of paragraphs (*containers*) to be attached to entities, where one can limit the available entity types and bundles on a per-container basis. This allows for e.g. a *Content* tab and a *Program* tab for activity/event content types.

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

[](#installation)

This package requires PHP 8.1 and Drupal 10.0 or higher. It can be installed using Composer:

```
 composer require wieni/wmcontent
```

How does it work?
-----------------

[](#how-does-it-work)

### Terminology

[](#terminology)

- A **container** connects hosts of a certain type to children of a certain type.
- A **host** is an entity with containers, e.g. a node with a paragraph container. A host can have multiple children per container.
- A **child** is an entity attached to a host through a container, e.g. a paragraph. Every entity can only be attached to a single container.

Children and hosts can be entities of any type with a canonical route, implementing `Drupal\Core\Entity\ContentEntityTypeInterface`.

When updating a child entity, the changed time of the host entity is updated as well.

### Get started

[](#get-started)

Before you begin, make sure your user role has the `administer wmcontent` permission. After that, you can get started by creating a new container. You can do this by going to `/admin/config/wmcontent/containers` or by following the *Structure* &gt; *WmContent* &gt; *WmContent Containers* menu link.

After creating the container, go to the (edit) page of a possible host entity. A new tab should have appeared with the name of the container you just created.

Clicking that link brings you to the master form, where you can add children to and edit/delete/reorder children from this host.

### Displaying children

[](#displaying-children)

If you use Display Suite to build your pages, you can use the *WmContent: Content blocks* field to display the content of the children entities on a host.

You can change the way wmcontent containers are rendered by overriding the `wmcontent` theme implementation.

If you build your pages manually using Twig templates, you can load the children of a host using `WmContentManagerInterface::getContent`.

Changelog
---------

[](#changelog)

All notable changes to this project will be documented in the [CHANGELOG](CHANGELOG.md) file.

Security
--------

[](#security)

If you discover any security-related issues, please email  instead of using the issue tracker.

License
-------

[](#license)

Distributed under the MIT License. See the [LICENSE](LICENSE.md) file for more information.

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance80

Actively maintained with recent releases

Popularity28

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity87

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 57.4% 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 ~40 days

Recently: every ~61 days

Total

85

Last Release

104d ago

Major Versions

0.6.1 → 1.0.02020-01-13

1.3.7 → 2.0.02021-08-24

PHP version history (4 changes)0.6.0PHP &gt;=7.0.0

1.0.0PHP &gt;=7.1.0

2.0.0PHP ^8.0

2.2.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/734199ae17f8da336fef9ba81f7c37cda09b0f9a952f551235c32ecfad68488b?d=identicon)[Wieni](/maintainers/Wieni)

---

Top Contributors

[![DieterHolvoet](https://avatars.githubusercontent.com/u/3606531?v=4)](https://github.com/DieterHolvoet "DieterHolvoet (112 commits)")[![RobinHoutevelts](https://avatars.githubusercontent.com/u/9056689?v=4)](https://github.com/RobinHoutevelts "RobinHoutevelts (44 commits)")[![akasake](https://avatars.githubusercontent.com/u/32063989?v=4)](https://github.com/akasake "akasake (16 commits)")[![spoit](https://avatars.githubusercontent.com/u/359811?v=4)](https://github.com/spoit "spoit (14 commits)")[![minntho](https://avatars.githubusercontent.com/u/187211500?v=4)](https://github.com/minntho "minntho (3 commits)")[![brownrl](https://avatars.githubusercontent.com/u/87302314?v=4)](https://github.com/brownrl "brownrl (3 commits)")[![hans-langouche](https://avatars.githubusercontent.com/u/127875434?v=4)](https://github.com/hans-langouche "hans-langouche (1 commits)")[![ponkiwonki](https://avatars.githubusercontent.com/u/106490855?v=4)](https://github.com/ponkiwonki "ponkiwonki (1 commits)")[![benjamintoussaint](https://avatars.githubusercontent.com/u/7239074?v=4)](https://github.com/benjamintoussaint "benjamintoussaint (1 commits)")

---

Tags

drupal-8drupal-moduledrupal8-module

### Embed Badge

![Health badge](/badges/wieni-wmcontent/health.svg)

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

###  Alternatives

[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6939.5M343](/packages/drupal-core-recommended)

PHPackages © 2026

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