WP Manifestindependent plugin directory
manifest / developer / autogenerated-urls

Display Auto-Generated URLs

A WordPress admin utility that collects commonly generated site URLs in one place for review and testing.

by Justin Thompson · github.com/devjusty/autogenerated-urls

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/devjusty/autogenerated-urls/archive/refs/heads/main.zip

A WordPress admin utility that collects commonly generated site URLs in one place for review and testing.

Features

  • Lists author, media, category, tag, date, and custom post type archives.
  • Includes search, feed, REST API, pingback, sitemap, and example 404 URLs.
  • Opens generated URLs in a new tab with safe noopener noreferrer attributes.
  • Paginates authors, attachments, categories, and tags at 100 items per page.
  • Adds a View URLs shortcut to the plugin row on the Plugins screen.
  • Provides translatable admin strings through the autogenerated-urls text domain.

Requirements

  • WordPress 5.9 or newer
  • A user with the manage_options capability
  • Docker and the wp-env CLI for local development

Installation

  1. Copy the plugin to wp-content/plugins/autogenerated-urls.
  2. Activate Display Auto-Generated URLs from the WordPress Plugins screen.
  3. Click View URLs in the plugin row, or open Tools → Auto URLs.

The admin page is available at:

/wp-admin/tools.php?page=auto-generated-urls

The 404 entry is intentionally an example path that should return a 404 response. Large author, media, category, and tag collections are each independently paginated via the agud_author_page, agud_attachment_page, agud_category_page, and agud_tag_page query parameters.

Local Development

The committed .wp-env.json starts WordPress with PHP 8.3 and mounts this directory as a plugin.

Start the environment:

wp-env start

Install the locked Composer development dependencies inside the CLI container:

wp-env run cli --env-cwd=wp-content/plugins/autogenerated-urls composer install

WordPress is then available at http://localhost:8888. The standard wp-env administrator credentials are admin / password.

Stop the environment when finished:

wp-env stop

Tests and Code Quality

Run the WordPress integration suite:

wp-env run tests-cli --env-cwd=wp-content/plugins/autogenerated-urls ./vendor/bin/phpunit --configuration phpunit.xml.dist

Run WordPress Coding Standards, PHP syntax validation, and Composer validation:

wp-env run cli --env-cwd=wp-content/plugins/autogenerated-urls ./vendor/bin/phpcs --standard=WordPress autogenerated-urls.php
wp-env run cli --env-cwd=wp-content/plugins/autogenerated-urls php -l autogenerated-urls.php
wp-env run cli --env-cwd=wp-content/plugins/autogenerated-urls composer validate --no-check-publish

The integration tests cover URL collection, pagination boundaries, invalid results, admin rendering, and the Plugins-screen shortcut.

Changelog

1.1.2

  • Fixed pagination advancing all sections at once. Author, media, category, and tag archives now paginate independently via agud_author_page, agud_attachment_page, agud_category_page, and agud_tag_page query parameters.
  • Fixed month archive labels rendering in the wrong timezone. Date archive month names now use gmmktime() so they display correctly regardless of the WordPress timezone setting.
  • Redesigned the admin page with a responsive card grid layout, showing sections side-by-side instead of one long vertical scroll.
  • Added item counts to each section heading with proper pluralization.
  • Added a copy-to-clipboard button next to every URL for quick sharing.
  • Added a live filter search box to narrow visible URLs across all sections without reloading.
  • Added a page description and improved empty-state styling.
  • Removed dead code: agud_get_archive_urls() wrapper, AGUD_TEXT_DOMAIN constant, and discouraged load_plugin_textdomain() call.
  • Removed stale TODO_code-review.md references from README and .gitattributes.

1.1.1

  • Initial public release.

License

Display Auto-Generated URLs is licensed under the GNU General Public License v2.0 or later. See LICENSE.txt for the complete license terms.

Project Structure

  • autogenerated-urls.php — plugin registration, section collection, and admin rendering.
  • LICENSE.txt — GNU General Public License v2.0 terms.
  • tests/ — WordPress PHPUnit integration tests.
  • languages/autogenerated-urls.pot — translation template.
  • .wp-env.json — local WordPress environment configuration.

Translations

Regenerate the POT template from the running development environment:

wp-env run cli --env-cwd=wp-content/plugins/autogenerated-urls wp i18n make-pot . languages/autogenerated-urls.pot --domain=autogenerated-urls --allow-root

Create language-specific .po and .mo files from the POT template and place them in languages/.