alphalisting
Last commit date
build
2 weeks ago
css
2 weeks ago
functions
2 weeks ago
languages
2 weeks ago
scripts
2 weeks ago
src
2 weeks ago
templates
2 weeks ago
vendor
2 weeks ago
widgets
2 weeks ago
LICENSE
2 weeks ago
alphalisting.php
2 weeks ago
composer.json
2 weeks ago
readme.txt
2 weeks ago
readme.txt
124 lines
| 1 | === AlphaListing === |
| 2 | |
| 3 | Contributors: eslin87 |
| 4 | Tags: a to z, a-z, index, listing, widget |
| 5 | Requires at least: 6.0 |
| 6 | Requires PHP: 8.0 |
| 7 | Tested up to: 7.1 |
| 8 | Stable tag: 4.5.0 |
| 9 | License: GPLv2 or later |
| 10 | License URI: http://www.gnu.org/licenses/gpl-2.0.html |
| 11 | |
| 12 | Provides an A to Z index page and widget. |
| 13 | |
| 14 | == Description == |
| 15 | |
| 16 | Display posts, pages, and terms alphabetically in a Rolodex-, catalog-, or directory-style list with the AlphaListing plugin! |
| 17 | |
| 18 | This plugin includes a block and shortcode for the list, along with a widget for linking to the list from any location on a site. If a letter has no associated pages, the widget will display the letter unlinked, while the list page will omit the letter entirely. |
| 19 | |
| 20 | Show posts from any single or multiple post types, including built-in posts and pages. Post types from plugins like WooCommerce products are also supported. Alternatively, display terms such as categories or tags. |
| 21 | |
| 22 | _This plugin is based on the original **A-Z Listing** by Lucy (formerly Dani) Llewellyn, which is no longer maintained. Custom templates built for the original plugin may not work reliably with this version. For the most up-to-date example template, see the [example template](https://raw.githubusercontent.com/Lin87/alphalisting/refs/heads/main/templates/a-z-listing.example.php)._ |
| 23 | |
| 24 | == Installation == |
| 25 | |
| 26 | This section describes how to install the plugin and get it working. |
| 27 | |
| 28 | = Requirements = |
| 29 | |
| 30 | 1. PHP 8.0 or higher is required. |
| 31 | 1. The plugin requires mbstring to be enabled in the PHP installation. Without this feature, the plugin may behave unexpectedly or fail. |
| 32 | |
| 33 | = Instructions = |
| 34 | |
| 35 | 1. Upload the `alphalisting` folder to the `/wp-content/plugins/` directory. |
| 36 | 1. Activate the plugin through the "Plugins" menu in WordPress. |
| 37 | 1. Use the AlphaListing block in the (Gutenberg) block editor or the `[alphalisting]` shortcode on the desired page or post. |
| 38 | 1. (Optional) Add the A-Z Site Map widget to a sidebar. |
| 39 | |
| 40 | == Documentation == |
| 41 | |
| 42 | Comprehensive documentation is now available: |
| 43 | |
| 44 | * [Overview](https://github.com/Lin87/alphalisting/wiki) |
| 45 | * [Installation](https://github.com/Lin87/alphalisting/wiki/Installation) |
| 46 | * [Gutenberg block usage](https://github.com/Lin87/alphalisting/wiki/Gutenberg-Block) |
| 47 | * [Shortcode reference](https://github.com/Lin87/alphalisting/wiki/Shortcode-References) |
| 48 | * [PHP usage](https://github.com/Lin87/alphalisting/wiki/PHP-Usage) |
| 49 | * [Templates and theming](https://github.com/Lin87/alphalisting/wiki/Templates-and-Theming) |
| 50 | * [Frequently asked questions](https://github.com/Lin87/alphalisting/wiki/FAQs) |
| 51 | |
| 52 | == Screenshots == |
| 53 | |
| 54 | 1. An example of the index listing page |
| 55 | 2. An example of Widget display |
| 56 | |
| 57 | == Changelog == |
| 58 | |
| 59 | = 4.5.0 = |
| 60 | |
| 61 | * New: Post listings can be grouped and sorted by the last word of each post title. Enable "Group by last word" in the block settings, or add `group-by="last-word"` to the shortcode. |
| 62 | * Bugfix: The widget's "Terms to exclude" setting is now saved. It was previously discarded every time the widget was saved. |
| 63 | * Bugfix: The widget's "Hide empty terms" checkbox now takes effect. It previously had no effect on the listing. |
| 64 | * Bugfix: Listings no longer produce a fatal error when given an unregistered taxonomy, a `parent-term` in an unregistered taxonomy, or a `target` pointing at a deleted post. |
| 65 | * Bugfix: The template-tag functions (`have_a_z_letters()`, `the_a_z_letter()`, `have_a_z_items()`, and friends) now work in theme templates. They previously looped forever because each call rebuilt the listing from scratch. |
| 66 | * Bugfix: CSS class names passed to the letter list are split on commas and spaces again. |
| 67 | * Bugfix: The widget's post-title autocomplete no longer shows stray backslashes in titles containing apostrophes. |
| 68 | * Security: Widget settings are no longer interpolated into a shortcode string, so a value containing a quote or bracket can no longer alter the rendered shortcode. |
| 69 | * Change: The `instance-id` attribute is sanitized for use in an HTML id and URL fragment. |
| 70 | * Change: The plugin now declares `Requires PHP: 8.0` and `Requires at least: 6.0`, so WordPress will block activation on unsupported versions instead of fataling. |
| 71 | |
| 72 | = 4.4.0 = |
| 73 | |
| 74 | * New: add a block setting option and `back-to-top` shortcode attribute to show/hide the "Back to Top" link. |
| 75 | * Change: the post type select control now allows multiple selections, enabling listings across multiple post types simultaneously. |
| 76 | * Bugfix: fix shortcode attribute not properly carried over to the block setting during shortcode to block conversion. |
| 77 | * Bugfix: prevent PHP 8 TypeError in callbacks. |
| 78 | * Change: remove jQuery-UI Tabs script. It was never used or fully implemented and appeared to be abandoned by the previous developer. |
| 79 | |
| 80 | = 4.3.7 = |
| 81 | |
| 82 | * Bugfix: harden column layout attribute sanitization. |
| 83 | * Bugfix: fix parent selector attribute wiring in block editor. |
| 84 | * Bugfix: harden widget update sanitization. |
| 85 | * Bugfix: fix get_item_meta to handle plural item prefixes. |
| 86 | * New: add exclude post and term IDs fields to the block settings. |
| 87 | |
| 88 | = 4.3.6 = |
| 89 | |
| 90 | * `[alphalisting exclude-terms]` now accepts explicit term listings and consistently filters by numeric term IDs for reliable exclusions. |
| 91 | * Fixed `alphalisting_cache()` so template tags instantiate the namespaced query class without fatal errors. |
| 92 | * Improved pagination to keep multi-page queries from skipping items and restored the unknown "#" bucket in edge cases. |
| 93 | * Added an ASCII fallback when `mbstring` is unavailable so basic listings still render correctly. |
| 94 | * Code improvements covering additional internal cleanups. |
| 95 | |
| 96 | = 4.3.5 = |
| 97 | |
| 98 | * Bugfix: fix critical error issues caused by namespaced functions in the files within the functions directory. |
| 99 | * Bugfix: correct the conditional logic inside the `get_the_item_object()` function of the `Query` class by changing the checks for `post` to `posts` and `term` to `terms`. |
| 100 | |
| 101 | = 4.3.4 = |
| 102 | |
| 103 | * Add namespace AlphaListing to all necessary PHP files. |
| 104 | |
| 105 | = 4.3.3 = |
| 106 | |
| 107 | * Bugfix: fix widget name not displaying on Widgets page. |
| 108 | * Bugfix: fix widget autocomplete input fields. |
| 109 | * Remove hardcoded admin-ajax.php URLs. |
| 110 | * Remove the minor version from the "Tested up to" value in the readme.txt. |
| 111 | * Move inline CSS style as style attribute in the template files. |
| 112 | * Add permission callback to register_rest_route. |
| 113 | * Remove load_plugin_textdomain as it is no longer necessary. |
| 114 | * Prevent direct file access to plugin files. |
| 115 | |
| 116 | = 4.3.2 = |
| 117 | |
| 118 | * Bugfix: Fix the listing order under grouped letters so that items are now correctly sorted alphabetically in ascending order. |
| 119 | * Update packages and fix deprecation warnings |
| 120 | |
| 121 | = Previous = |
| 122 | |
| 123 | This plugin is based on the original A-Z Listing by Lucy (formerly Dani) Llewellyn. The last version released by Lucy was 4.3.1. Starting from version 4.3.2, this plugin has diverged from the original A-Z Listing. For the full release history, including Lucy's releases, refer to the [changelog.md](https://github.com/Lin87/alphalisting/blob/main/changelog.md) file. |
| 124 |