=== Alphabetical Pagination === Contributors: mansoormunib Tags: alphabetical, navigation, index, glossary, pagination Requires at least: 5.0 Tested up to: 7.0 Requires PHP: 8.1 Stable tag: 2.4.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Alphabetical (A–Z, #, 0–9) index for any post type. Shortcode, Gutenberg block, REST API, WooCommerce auto-mount, multilingual, WCAG AA. == Description == **Alphabetical Pagination** (formerly *WP-SNAP Extended!*) builds an alphabetical index of post titles across any public post type. Visitors jump straight to a letter (A, B, C …), browse a paginated list of matching posts, and click through to each post's permalink. Built for modern WordPress: PHP 8.1+ typed classes, schema-validated options, prepared SQL throughout, semantic markup, no jQuery dependency, no bundled CSS framework, zero front-end JS by default. = Why use it = * **Modern PHP 8.1+ architecture** — typed `final` classes under `includes/`, every superglobal sanitised, every echoed value escaped, every DB call prepared. * **Three embedding surfaces** — `[alphabetical_pagination]` shortcode, `alphabetical_pagination()` template tag, and a native Gutenberg block (`wp-snap-ext/index`). * **WooCommerce auto-mount** — one click renders the index above the shop loop or product category archives via the native `woocommerce_before_shop_loop` action. No DOM hacks, no `posts_where` SQL filter injection. * **15 bundled alphabet packs** — English, Arabic, Chinese (Pinyin), German, Spanish, French, Greek, Hebrew, Hindi, Hungarian, Korean (Hangul Jamo), Russian, Thai, Turkish, Urdu. * **WPML + Polylang aware** — the letter cache keys on current language, so translated post sets render and cache per-language automatically. * **REST API** — `GET /wp-json/wp-snap-ext/v1/letters` and `/posts` for headless / React / app integrations. * **Documented developer hook API** — `do_action`/`apply_filters` at every render path so agencies can customise without forking. * **Transient letter-availability cache** — letter counts cached as transients, busted on `save_post`. Configurable TTL. * **ACF excerpt fallback** — supports top-level, sub-field, and deep flexible-content / repeater / group lookups via recursive `get_fields()` walk. * **WCAG 2.1 AA** — `