Linkify Categories

Description

The plugin provides a widget called “Linkify Catagories” as well as a template tag, c2c_linkify_categories(), which allow you to easily specify categories to list and how to list them. Categories are specified by either ID or slug. See other parts of the documentation for example usage and capabilities.

Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage

Developer Documentation

Developer documentation can be found in DEVELOPER-DOCS.md. That documentation covers the template tag and hook provided by the plugin.

As an overview, this is the template tag provided by the plugin:

  • c2c_linkify_categories() : Template tag to display links to each of any number of categories specified via category IDs/slugs. You can customize text to show before and/or after the entire listing, between each category, and what to display (if anything) when no categories are listed.

This is the hook provided by the plugin:

  • c2c_linkify_categories : Allows use of an alternative approach to safely invoke c2c_linkify_categories() in such a way that if the plugin were deactivated or deleted, then your calls to the function won’t cause errors in your site.

Screenshots

  • The plugin’s widget configuration.

Installation

  1. Install via the built-in WordPress plugin installer. Or install the plugin code inside the plugins directory for your site (typically /wp-content/plugins/).
  2. Activate the plugin through the ‘Plugins’ admin menu in WordPress
  3. Use provided widget or the c2c_linkify_categories() template tag in one of your templates (be sure to pass it at least the first argument indicating what category IDs and/or slugs to linkify — the argument can be an array, a space-separate list, or a comma-separated list). Other optional arguments are available to customize the output.
  4. Optional: Use the “Linkify Categories” widget in one of the sidebars provided by your theme.

FAQ

What happens if I tell it to list something that I have mistyped, haven’t created yet, or have deleted?

If a given ID/slug doesn’t match up with an existing category then that item is ignored without error.

How do I get items to appear as a list (using HTML tags)?

Whether you use the template tag or the widget, specify the following information for the appropriate fields/arguments:

Before text: <ul><li> (or <ol><li>)
After text: </li></ul> (or </li></ol>)
Between categories: </li><li>

Does this plugin include unit tests?

Yes. The tests are not packaged in the release .zip file or included in plugins.svn.wordpress.org, but can be found in the plugin’s GitHub repository.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Linkify Categories” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Linkify Categories” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.4 (2024-08-15)

Highlights:

This recommended release features improvements to widget implementation, adds some hardening measures, notes compatibility through WP 6.6+, removes unit tests from release packaging, updates copyright date (2024), and other code improvements and minor changes.

Details:

  • Widget:
    • New: Extract base widget functionality common amongst my Linkify family of plugins into reusable base class
    • Change: Define a default ‘none’ message so that something is shown when no categories are specified
    • Change: Improve spacing in block editor around widget input field help text
    • New: Add get_config() to retrieve configuration
    • Hardening: Escape some variables prior to being output
    • New: Add unit tests
    • Change: Update version to 005
  • New: Extract code for creating link to category’s archive into new __c2c_linkify_categories_get_category_link()
  • Change: Tweak descriptions to clarify that the links are to each category’s archive
  • Change: Add default values for optional arguments to inline parameter documentation
  • Change: Note compatibility through WP 6.6+
  • Change: Prevent unwarranted PHPCS complaints about unescaped output (HTML is allowed)
  • Change: Add inline comment for translators
  • Change: Update copyright date (2024)
  • Change: Reduce number of ‘Tags’ from readme.txt
  • Change: Remove development and testing-related files from release packaging
  • Hardening: Unit tests: Prevent direct web access to bootstrap.php
  • New: Add some potential TODO items

2.3.1 (2023-08-22)

  • Fix: Fix some typos in documentation
  • Change: Note compatibility through WP 6.3+
  • Change: Update copyright date (2023)
  • New: Add .gitignore file
  • Unit tests:
    • Allow tests to run against current versions of WordPress
    • New: Add composer.json for PHPUnit Polyfill dependency
    • Change: Prevent PHP warnings due to missing core-related generated files

2.3 (2021-10-16)

Highlights:

This minor release removes support for the long-deprecated linkify_categories(), adds DEVELOPER-DOCS.md, notes compatibility through WP 5.8+, and minor reorganization and tweaks to unit tests.

Details:

  • Change: Remove long-deprecated function linkify_categories()
  • New: Add DEVELOPER-DOCS.md and move template tag and hooks documentation into it
  • Change: Tweak installation instruction
  • Change: Note compatibility through WP 5.8+
  • Unit tests:
    • Change: Restructure unit test directories
      • Change: Move phpunit/ into tests/phpunit/
      • Change: Move phpunit/bin/ into tests/
    • Change: Remove ‘test-‘ prefix from unit test file
    • Change: In bootstrap, store path to plugin file constant
    • Change: In bootstrap, add backcompat for PHPUnit pre-v6.0

Full changelog is available in CHANGELOG.md.