fairpm/did-manager-wordpress

WordPress integration layer for FAIR DID management and metadata generation

Maintainers

Package info

github.com/fairpm/did-manager-wordpress

pkg:composer/fairpm/did-manager-wordpress

Statistics

Installs: 1 208

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 1

0.0.5 2026-05-15 17:08 UTC

This package is auto-updated.

Last update: 2026-05-16 16:59:03 UTC


README

fairpm/did-manager-wordpress contains the WordPress-specific layer that was extracted from the core fairpm/did-manager package. It provides WordPress header parsing, readme.txt parsing, FAIR metadata generation, and a small adapter around the core DID manager for package-aware workflows.

Features

  • Parse WordPress plugin headers and discover the main plugin file
  • Parse WordPress.org-style readme.txt files outside of a WordPress runtime
  • Generate FAIR metadata arrays and metadata.json files for plugins and themes
  • Detect whether a package path is a plugin or theme
  • Inject Plugin ID or Theme ID values after a DID is created
  • Compose the core FAIR\\DID\\DIDManager instead of duplicating DID logic

Installation

composer require fairpm/did-manager-wordpress

For repository development:

git clone https://github.com/fairpm/did-manager-wordpress.git
cd did-manager-wordpress
composer install

Usage

<?php

require_once 'vendor/autoload.php';

use FAIR\DID\DIDManager;
use FAIR\DID\PLC\PlcClient;
use FAIR\DID\Storage\KeyStore;
use FAIR\WordPress\DID\Parsers\MetadataGenerator;
use FAIR\WordPress\DID\WordPressDIDManager;

$core = new DIDManager(
	new KeyStore(__DIR__ . '/keys.json'),
	new PlcClient(),
);

$wordpress = new WordPressDIDManager($core);
$result = $wordpress->create_package_did(__DIR__ . '/my-plugin', 'my-plugin.example.com', null, true);
$metadata = $wordpress->generate_metadata(__DIR__ . '/my-plugin', did: $result['did']);

Namespaces

  • FAIR\\WordPress\\DID\\Parsers for header, readme, and metadata helpers
  • FAIR\\WordPress\\DID for package-aware orchestration around the core DID manager

Examples

See examples:

  • 01-parse-plugin-headers.php
  • 02-generate-metadata.php

Testing

composer lint
composer analyze
composer test

Formatting can be applied with:

composer lint
composer format

The project uses a custom PSR-12-derived PHPCS ruleset for coding standards, PHPStan for static analysis, and PHPUnit for tests.