From d80383f746e91ccc0a38a362c18a39025e416962 Mon Sep 17 00:00:00 2001 From: torounit Date: Fri, 19 Jun 2026 07:54:34 +0900 Subject: [PATCH] refactor: rename PHP namespace from HAMWORKS\WP\Schedule_Terms to Torounit\WP\Schedule_Terms Align the namespace with the actual torounit/schedule-terms package and GitHub ownership. Update the PSR-4 mapping in composer.json accordingly, and add includes/compat.php (loaded via composer's "files" autoload) to register class_alias() shims for every old HAMWORKS\WP\Schedule_Terms\* class name so third-party code referencing the old FQCNs keeps working. This plugin doesn't serialize any of these objects into the database and isn't consumed as a library, so the rename carries minimal compatibility risk; the shim is removed in a future major release once the old namespace is no longer supported. --- .gitignore | 1 + README.md | 1 + composer.json | 9 ++++++--- composer.lock | 2 +- includes/Assets.php | 2 +- includes/Plugin.php | 2 +- includes/Post_Meta.php | 2 +- includes/Schedule.php | 2 +- includes/Term/UI.php | 2 +- includes/Term_Manager.php | 2 +- includes/Term_Meta.php | 2 +- includes/Term_UI.php | 4 ++-- includes/compat.php | 29 +++++++++++++++++++++++++++++ schedule-terms.php | 2 +- tests/php/Schedule_Test.php | 4 ++-- tests/php/Term_Manager_Test.php | 4 ++-- 16 files changed, 52 insertions(+), 18 deletions(-) create mode 100644 includes/compat.php diff --git a/.gitignore b/.gitignore index ab48230..092d990 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ build /vendor/ *.tsbuildinfo +.phpunit.result.cache diff --git a/README.md b/README.md index 0f78952..e541208 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ Yes, scheduling can be enabled for any taxonomy that is shown in the admin UI (` ### Unreleased * Tested WordPress 7.0. * Drop support for PHP 8.1. +* Renamed the internal PHP namespace from `HAMWORKS\WP\Schedule_Terms` to `Torounit\WP\Schedule_Terms` (old class names are aliased for backward compatibility and will be removed in a future major release). ### 1.3.0 * Tested WordPress 6.5. diff --git a/composer.json b/composer.json index d3a4451..323b9e7 100644 --- a/composer.json +++ b/composer.json @@ -20,9 +20,12 @@ }, "autoload": { "psr-4": { - "HAMWORKS\\WP\\Schedule_Terms\\": "./includes", - "HAMWORKS\\WP\\Schedule_Terms\\Tests\\": "./tests/php" - } + "Torounit\\WP\\Schedule_Terms\\": "./includes", + "Torounit\\WP\\Schedule_Terms\\Tests\\": "./tests/php" + }, + "files": [ + "includes/compat.php" + ] }, "scripts": { "test": "phpunit", diff --git a/composer.lock b/composer.lock index ccc1868..3be69b3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "57fba4be398498a345a461dd3bc160da", + "content-hash": "dc78ce983c4e4bfd0b5e3e751834e971", "packages": [], "packages-dev": [ { diff --git a/includes/Assets.php b/includes/Assets.php index ae7e428..1d5e576 100644 --- a/includes/Assets.php +++ b/includes/Assets.php @@ -5,7 +5,7 @@ * @package Schedule_Terms */ -namespace HAMWORKS\WP\Schedule_Terms; +namespace Torounit\WP\Schedule_Terms; /** * Class used to register style and js. diff --git a/includes/Plugin.php b/includes/Plugin.php index 0fc6b1d..cbcea88 100644 --- a/includes/Plugin.php +++ b/includes/Plugin.php @@ -5,7 +5,7 @@ * @package Schedule_Terms */ -namespace HAMWORKS\WP\Schedule_Terms; +namespace Torounit\WP\Schedule_Terms; /** * Plugin base class. diff --git a/includes/Post_Meta.php b/includes/Post_Meta.php index 28631e7..be5465a 100644 --- a/includes/Post_Meta.php +++ b/includes/Post_Meta.php @@ -5,7 +5,7 @@ * @package Schedule_Terms */ -namespace HAMWORKS\WP\Schedule_Terms; +namespace Torounit\WP\Schedule_Terms; /** * Register post meta. diff --git a/includes/Schedule.php b/includes/Schedule.php index bdb4e5a..1e40cd4 100644 --- a/includes/Schedule.php +++ b/includes/Schedule.php @@ -5,7 +5,7 @@ * @package Schedule_Terms */ -namespace HAMWORKS\WP\Schedule_Terms; +namespace Torounit\WP\Schedule_Terms; use WP_Term; diff --git a/includes/Term/UI.php b/includes/Term/UI.php index aa15a1a..af63442 100644 --- a/includes/Term/UI.php +++ b/includes/Term/UI.php @@ -6,7 +6,7 @@ * @see https://github.com/JJJ/wp-term-meta-ui/blob/master/class-wp-term-meta-ui.php */ -namespace HAMWORKS\WP\Schedule_Terms\Term; +namespace Torounit\WP\Schedule_Terms\Term; use WP_Taxonomy; use WP_Term; diff --git a/includes/Term_Manager.php b/includes/Term_Manager.php index 1563e53..e490a61 100644 --- a/includes/Term_Manager.php +++ b/includes/Term_Manager.php @@ -5,7 +5,7 @@ * @package Schedule_Terms */ -namespace HAMWORKS\WP\Schedule_Terms; +namespace Torounit\WP\Schedule_Terms; use WP_Term; diff --git a/includes/Term_Meta.php b/includes/Term_Meta.php index 5f0a7d0..65b5102 100644 --- a/includes/Term_Meta.php +++ b/includes/Term_Meta.php @@ -5,7 +5,7 @@ * @package Schedule_Terms */ -namespace HAMWORKS\WP\Schedule_Terms; +namespace Torounit\WP\Schedule_Terms; /** * Term Meta class. diff --git a/includes/Term_UI.php b/includes/Term_UI.php index 6dc4593..2ef7655 100644 --- a/includes/Term_UI.php +++ b/includes/Term_UI.php @@ -5,9 +5,9 @@ * @package Schedule_Terms */ -namespace HAMWORKS\WP\Schedule_Terms; +namespace Torounit\WP\Schedule_Terms; -use HAMWORKS\WP\Schedule_Terms\Term\UI; +use Torounit\WP\Schedule_Terms\Term\UI; /** * Term meta UI controller. diff --git a/includes/compat.php b/includes/compat.php new file mode 100644 index 0000000..38ab070 --- /dev/null +++ b/includes/compat.php @@ -0,0 +1,29 @@ + 'Torounit\\WP\\Schedule_Terms\\Assets', + 'HAMWORKS\\WP\\Schedule_Terms\\Plugin' => 'Torounit\\WP\\Schedule_Terms\\Plugin', + 'HAMWORKS\\WP\\Schedule_Terms\\Post_Meta' => 'Torounit\\WP\\Schedule_Terms\\Post_Meta', + 'HAMWORKS\\WP\\Schedule_Terms\\Schedule' => 'Torounit\\WP\\Schedule_Terms\\Schedule', + 'HAMWORKS\\WP\\Schedule_Terms\\Term_Manager' => 'Torounit\\WP\\Schedule_Terms\\Term_Manager', + 'HAMWORKS\\WP\\Schedule_Terms\\Term_Meta' => 'Torounit\\WP\\Schedule_Terms\\Term_Meta', + 'HAMWORKS\\WP\\Schedule_Terms\\Term_UI' => 'Torounit\\WP\\Schedule_Terms\\Term_UI', + 'HAMWORKS\\WP\\Schedule_Terms\\Term\\UI' => 'Torounit\\WP\\Schedule_Terms\\Term\\UI', + ); + + foreach ( $map as $old_class => $new_class ) { + if ( ! class_exists( $old_class ) && class_exists( $new_class ) ) { + class_alias( $new_class, $old_class ); + } + } +} )(); diff --git a/schedule-terms.php b/schedule-terms.php index e3474b7..1a7b5b0 100644 --- a/schedule-terms.php +++ b/schedule-terms.php @@ -14,7 +14,7 @@ * @package Schedule_Terms */ -use HAMWORKS\WP\Schedule_Terms\Plugin; +use Torounit\WP\Schedule_Terms\Plugin; require_once __DIR__ . '/vendor/autoload.php'; diff --git a/tests/php/Schedule_Test.php b/tests/php/Schedule_Test.php index a61d6e8..d468bff 100644 --- a/tests/php/Schedule_Test.php +++ b/tests/php/Schedule_Test.php @@ -5,9 +5,9 @@ * @package Schedule_Terms */ -namespace HAMWORKS\WP\Schedule_Terms\Tests; +namespace Torounit\WP\Schedule_Terms\Tests; -use HAMWORKS\WP\Schedule_Terms\Schedule; +use Torounit\WP\Schedule_Terms\Schedule; use WP_UnitTestCase; /** diff --git a/tests/php/Term_Manager_Test.php b/tests/php/Term_Manager_Test.php index f742cc2..7daf081 100644 --- a/tests/php/Term_Manager_Test.php +++ b/tests/php/Term_Manager_Test.php @@ -5,9 +5,9 @@ * @package Schedule_Terms */ -namespace HAMWORKS\WP\Schedule_Terms\Tests; +namespace Torounit\WP\Schedule_Terms\Tests; -use HAMWORKS\WP\Schedule_Terms\Term_Manager; +use Torounit\WP\Schedule_Terms\Term_Manager; use WP_UnitTestCase; /**