- PHP 51.9%
- Shell 26.4%
- Python 21.7%
| .forgejo/workflows | ||
| bin | ||
| docs | ||
| scripts | ||
| tests | ||
| wordpress-org-assets | ||
| .gitignore | ||
| AGENTS.md | ||
| ARCHITECTURE.md | ||
| argentwolf-email-verification.php | ||
| composer.json | ||
| composer.lock | ||
| LICENSE | ||
| phpunit.integration.xml.dist | ||
| README.md | ||
| readme.txt | ||
| TODO.md | ||
ArgentWolf Email Verification
ArgentWolf Email Verification keeps newly self-registered WordPress accounts
inactive until the account owner confirms control of the registered email
address. Verification is handled locally through WordPress and wp_mail().
The plugin is also the authoritative registered-user verification provider for compatible plugins such as ArgentWolf Post Notifier.
Public integration API
argentwolf_email_verification_is_user_verified( int $user_id ): bool
argentwolf_email_verification_get_user_verification_status( int $user_id ): string
The status function returns verified, pending, or unknown. Missing legacy
pending metadata remains verified for an existing user so an interrupted
upgrade cannot lock out established accounts.
New integrations must use canonical argentwolf_email_verification_ functions
and hooks. See docs/legacy-api-deprecation.md for the compatibility policy.
Development
Normal checkout:
~/src/wp-argentwolf-email-verification
Install dependencies and run the source-level suite:
composer install
composer validate --strict
composer test
Install the WordPress 7.1 test environment and run integration tests:
bash bin/install-wp-tests.sh \
wordpress_test \
root \
'' \
127.0.0.1:3306 \
7.1
composer test:integration
Build the reviewed runtime package:
bash scripts/build-release.sh
The release package intentionally contains only the main plugin file,
readme.txt, and LICENSE. Release checksum files contain the ZIP basename
rather than a build-host absolute path.
Before WordPress.org publication, qualify the exact public release artifact in a disposable Docker WordPress environment. The harness downloads the release through its public Forgejo URL, verifies its pinned SHA-256 and public Git tag, then exercises clean-install, registration/verification, Plugin Check, and upgrade behavior:
bash tests/integration/wordpress-release-smoke.sh \
tests/integration/release-targets/1.0.1.env
See tests/integration/README.md for the release-asset prerequisite, VM workflow,
environment overrides, and report/checksum behavior.