PHPackages                             humanmade/post-template-table - 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. humanmade/post-template-table

ActiveWordpress-plugin[Utility &amp; Helpers](/categories/utility)

humanmade/post-template-table
=============================

A post template like block to output posts as a table

1.0.6(4mo ago)43.7k↑64.8%[1 issues](https://github.com/humanmade/post-template-table/issues)GPL-2.0-or-laterJavaScriptCI passing

Since Oct 9Pushed 2d agoCompare

[ Source](https://github.com/humanmade/post-template-table)[ Packagist](https://packagist.org/packages/humanmade/post-template-table)[ RSS](/packages/humanmade-post-template-table/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (8)Dependencies (1)Versions (10)Used By (0)

HM Post Template Table
======================

[](#hm-post-template-table)

A WordPress block plugin that provides a table-based alternative to the `core/post-template` block for displaying query results.

Features
--------

[](#features)

- **Table Layout**: Display query loop posts in a structured table format
- **Sortable Columns**: Reorder columns using up/down arrows in the sidebar
- **Editable Headers**: Customize column header labels
- **Toggle Headers**: Option to show/hide the header row
- **Core Block Support**: Works with standard WordPress post blocks:
    - `core/post-title`
    - `core/post-date`
    - `core/post-excerpt`
    - `core/post-featured-image`
    - `core/post-terms`
    - `core/post-author`
    - `core/post-author-name`
    - `core/post-author-biography`
    - `core/avatar`

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

[](#installation)

1. Copy this plugin folder to your WordPress `wp-content/plugins/` directory
2. Navigate to the plugin directory: `cd wp-content/plugins/hm-post-template-table`
3. Install dependencies: `npm install`
4. Build the plugin: `npm run build`
5. Activate the plugin in WordPress admin

Usage
-----

[](#usage)

1. Add a **Query Loop** block to your page/post
2. Inside the Query Loop, add the **Post Template Table** block
3. Add post blocks (e.g., Post Title, Post Date) as children to create columns
4. Customize column headers in the block sidebar
5. Reorder columns using the up/down arrows
6. Toggle the header row visibility if needed

Development
-----------

[](#development)

### Build Commands

[](#build-commands)

- `npm run start` - Start development mode with hot reload
- `npm run build` - Build production-ready assets
- `npm run lint:js` - Lint JavaScript files
- `npm run lint:css` - Lint CSS/SCSS files
- `npm run format` - Format code using WordPress standards

Block Structure
---------------

[](#block-structure)

The block must be used as a child of `core/query` (Query Loop block). It renders a table where:

- Each inner block becomes a column
- Each post in the query becomes a row
- Headers are customizable via block attributes

Requirements
------------

[](#requirements)

- WordPress 6.0 or higher
- PHP 7.4 or higher
- Node.js for development

Local Environment
-----------------

[](#local-environment)

This project uses [wp-env](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-env/) to run a lightweight, containerized WordPress instance at [localhost:3004](http://localhost:3004) for testing purposes. The default username for the localhost environment is `admin`, with the password `password`.

These commands can be used to interact with the environment:

CommandPurpose`npm run env:start`Start the local environment at `npm run env:stop`Turn off the local environment`npm run env:cli -- wp ...`Run WP-CLI commands within the environment`npm run env:logs`Open (and tail) the error logs for the application‡`npm run env:db`Open the database in the mysql command line`npm run env:destroy`Fully destroy the local environment (deletes container database)‡ This command deliberately filters out GET/OPTIONS/HEAD/POST/PUT access log entries

Release Process
---------------

[](#release-process)

Merges to `main` automatically [build](https://github.com/humanmade/post-template-table/actions/workflows/build-release-branch.yml) to the `release` branch. A project may track the `release` branch using [Composer](https://getcomposer.org/) to pull in the latest built beta version.

Commits on the `release` branch may be tagged for installation via [Packagist](https://packagist.org/packages/humanmade/post-template-table) and marked as releases in GitHub for manual download, using a manually-dispatched ["Tag and Release" GH Actions workflow](https://github.com/humanmade/post-template-table/actions/workflows/tag-and-release.yml).

To tag a new release:

1. Choose the target version number using [semantic versioning](https://semver.org/).
2. Check out a `prepare-v#.#.#` branch and bump the `Version` in the [plugin.php](./plugin.php) PHPDoc header.
3. Open a pull request titled "Prepare release v#.#.#".
4. Review and merge the "Prepare release" pull request.
5. Wait for the `release` branch to [update](https://github.com/humanmade/post-template-table/actions/workflows/build-release-branch.yml) with the build that includes the new version number.
6. On the ["Tag and Release" GH Action page](https://github.com/humanmade/post-template-table/actions/workflows/tag-and-release.yml):
    - Click "Run workflow" in the `workflow_dispatch` banner.
    - Fill out the "Version tag" field with your target version number. This must match the `Version` in `plugin.php`. Use the format `v#.#.#`.
    - Click "Run workflow" to apply the specified tag to the `release` branch.

Once the workflow completes, the new version is [tagged](https://github.com/humanmade/post-template-table/tags) and listed in [releases](https://github.com/humanmade/post-template-table/releases). Edit the release notes as needed to clarify changes.

License
-------

[](#license)

GPL-2.0-or-later

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance84

Actively maintained with recent releases

Popularity27

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66% 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 ~22 days

Recently: every ~32 days

Total

7

Last Release

135d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/77dbeefb7745010589603f2ffc6ff310d8f700b58e08d52af190744c43342526?d=identicon)[roborourke](/maintainers/roborourke)

![](https://avatars.githubusercontent.com/u/494927?v=4)[Matthew Haines-Young](/maintainers/mattheu)[@mattheu](https://github.com/mattheu)

---

Top Contributors

[![kadamwhite](https://avatars.githubusercontent.com/u/442115?v=4)](https://github.com/kadamwhite "kadamwhite (33 commits)")[![roborourke](https://avatars.githubusercontent.com/u/23417?v=4)](https://github.com/roborourke "roborourke (17 commits)")

---

Tags

blocksgutenbergwordpress

### Embed Badge

![Health badge](/badges/humanmade-post-template-table/health.svg)

```
[![Health](https://phpackages.com/badges/humanmade-post-template-table/health.svg)](https://phpackages.com/packages/humanmade-post-template-table)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[mediawiki/maps

Adds various mapping features to MediaWiki

84152.3k3](/packages/mediawiki-maps)[starcitizentools/citizen-skin

A beautiful, usable, responsive MediaWiki skin with in-depth extension support. Originally developed for the Star Citizen Wiki.

3376.6k](/packages/starcitizentools-citizen-skin)[civicrm/civicrm-drupal-8

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

19251.4k3](/packages/civicrm-civicrm-drupal-8)[altis/core

Core module for Altis

19228.0k3](/packages/altis-core)[pfefferle/wordpress-activitypub

The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format.

5721.7k4](/packages/pfefferle-wordpress-activitypub)

PHPackages © 2026

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