PHPackages                             nelson-ph/termstatus - 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. nelson-ph/termstatus

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

nelson-ph/termstatus
====================

This module adds a status-flag to taxonomy terms. Using this flag it is possible to specify whether terms should be published or not. Users with the appropriate permission may access unpublished terms.

08PHP

Since Apr 30Pushed 8y agoCompare

[ Source](https://github.com/nelson-ph/D8-termstatus)[ Packagist](https://packagist.org/packages/nelson-ph/termstatus)[ RSS](/packages/nelson-ph-termstatus/feed)WikiDiscussions 8.x-1.x Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Taxonomy Term Status
====================

[](#taxonomy-term-status)

This module adds a status-flag to taxonomy terms. Using this flag it is possible to specify whether terms should be published or not. Users with the appropriate permission may access unpublished terms.

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

[](#installation)

1. `composer require nelson-ph/termstatus`
2. Enable the module. In the admin UI, it is listed under Taxonomy Term Status package.
3. Set appropriate permissions, existing roles are granted view permissions to keep the core logic.

Usage
-----

[](#usage)

After installation a Published field is added to all Terms, which controls the access to Term pages.

Since the module extends the Term entity class by using the TermWithStatus class for taxonomy\_term entity in the hook\_entity\_type\_build() hook, you also need to change all instanceof() checks from \\Drupal\\taxonomy\\Entity\\Term to \\Drupal\\termstatus\\Entity\\TermWithStatus.

The extension is done to allow usage of isPublished and get/set methods for the status field, but the extension also keeps all the core logic the Term entity has or will ever have. This is because the extended class does not provide any additional annotations and relies solely on the original Term entity class to be built.

To do
-----

[](#to-do)

1. Vocabulary settings to set default state for the terms.
2. Update Term entity to allow usage of isPublished().
3. On /admin/structure/taxonomy/manage/{vid}/overview page display the terms status.
4. Add views field support.

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 58.8% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6ac8e43794381150bc9936e3e1ea1a8202cec5758cb91dbb42f6381c39489490?d=identicon)[nelson-ph](/maintainers/nelson-ph)

---

Top Contributors

[![ainarend](https://avatars.githubusercontent.com/u/22946995?v=4)](https://github.com/ainarend "ainarend (10 commits)")[![nelson-hassanali](https://avatars.githubusercontent.com/u/11722736?v=4)](https://github.com/nelson-hassanali "nelson-hassanali (5 commits)")[![nelson-ph](https://avatars.githubusercontent.com/u/2026800?v=4)](https://github.com/nelson-ph "nelson-ph (2 commits)")

---

Tags

cmsd8drupal-8drupal-moduledrupal8drupal8-modulemanagementphppublishingtaxonomy

### Embed Badge

![Health badge](/badges/nelson-ph-termstatus/health.svg)

```
[![Health](https://phpackages.com/badges/nelson-ph-termstatus/health.svg)](https://phpackages.com/packages/nelson-ph-termstatus)
```

###  Alternatives

[appoly/zstd-php

PHP wrapper for zstd

141.3k](/packages/appoly-zstd-php)

PHPackages © 2026

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