Page Index
Developed by azurecurve
Plugin Description
Shortcode which displays a simple tile based page index showing the child pages.
Shortcode which displays a simple tile based page index showing the child pages of the loaded page or of the supplied pageid or slug. This plugin is multisite compatible.
To use simply place the [page-index] shortcode on a page or in a post. Tiled page index based on child pages of the page the shortcode is used on.
If a different page index is required, or the shortcode is used in a post use one of the following parameters:
pageidslug
e.g. [page-index pageid='32'] or [page-index slug='mythology/celtic-fairy-tales']
If both parameters are supplied, then pageid will take precedence and slug will be ignored.
Integrated with Flags plugin to display flag in page index; add custom Flag custom field to page.
Integrated with Icons plugin to display icon in page index; add custom Icon custom field to page.
This plugin is multisite compatible; each site will need settings to be configured in the admin dashboard.
- Download the latest release of the plugin from GitHub.
- Upload the entire zip file using the Plugins upload function in your ClassicPress admin panel.
- Activate the plugin.
- Configure relevant settings via the configuration page in the admin control panel (azurecurve menu).
Yes, the .pot file is in the plugin’s assets/languages folder; if you do translate this plugin, please send the .po and .mo files to [email protected] for inclusion in the next version (full credit will be given).
This plugin is developed for ClassicPress, but will likely work on WordPress.
- Rebuilt to match the current azurecurve plugin architecture (namespaced code, settings/menu split across includes files, tabbed azrcrv-ui-tabs admin UI matching Shortcodes in Comments/Shortcodes in Widgets).
- Removed the jQuery/jQuery UI dependency from the settings screen; tabs are now plain CSS/vanilla JS. This also removes four broken enqueues of jquery-ui.css/jquery-ui.structure.css/jquery-ui.js/jquery.js files that did not actually exist in the plugin and were 404ing on every visit to the settings screen.
- Fixed a bug where the Timelines-integration “has a timeline entry” check used malformed SQL (a %s placeholder wrapped in its own literal quotes, on top of $wpdb->prepare()’s own quoting), so the check never actually matched and the timeline signifier never appeared.
- Fixed a fatal error (PHP 8+) when the shortcode’s
slugattribute didn’t match any page – now falls back to the current page instead of reading ->ID off a null result. - Fixed the Icons-integration call passing an unkeyed array (
azrcrv_i_icon( array( $icon ) )) instead of the documented, keyed form (azrcrv_i_icon( array( 'id' => $icon ) )), matching the Flags-integration call’s convention. - Fixed unescaped output (page URL, slug and title) in the generated index links.
- Fixed a PHP notice on admin.php requests without a ‘page’ query var (missing isset() check).
- Fixed an inefficient
plugin_action_linkshook so it no longer runs for every plugin on the Plugins list page. - Fixed a PHP warning on a never-configured settings page (defaults weren’t actually applied on read).
- Replaced the hard-coded Flags/Icons/Timelines links with a standard, auto-generated Other Plugins tab.
- Replaced the plugin’s shared azurecurve cross-plugin menu population logic (previously re-run unconditionally on every admin_init, always writing to the database) with the activation/upgrade-hook based logic shared with the rest of the azurecurve plugin family, which only writes when something actually changed.
- Text domain changed from
page-indextoazrcrv-pi, and the languages folder moved from/languagesto/assets/languages, matching every other azurecurve plugin. Existing translations will need to be rebuilt against the new domain/path. - Requires PHP raised from 7.4 to 8.2, matching the rest of the azurecurve plugin family.
- All settings, the
[page-index]/[PAGE-INDEX]shortcode and its attributes, and theazrcrv-pi-color/azrcrv-pi-background/Flag/Iconcustom field names are unchanged, so existing content keeps working with no migration step. - Security fix: the color/background/width/height/line-height/margin/padding/text-align/font-weight values (from the Defaults tab settings, from the shortcode’s own attributes, and from the per-page azrcrv-pi-color/azrcrv-pi-background custom fields) were only escaped for safe HTML-attribute placement, not validated as CSS – a value such as background=”#007fff; border: 3px solid red” passed straight through and injected an extra CSS declaration. Every value is now validated against the specific shape that CSS property can legitimately take (see includes/functions-css-sanitize.php); anything that doesn’t match is discarded outright, on save AND again defensively at output, so a value already stored before this fix self-heals without needing to be re-saved.
- Added a new Border default (and matching
bordershortcode attribute), e.g.3px solid red– validated as exactlywidth style color, each part checked independently. - Added an Instructions tab to the settings screen – covers basic use, styling/shortcode attributes, per-page color overrides, and Flags/Icons/Timelines integration.
- Update readme.md and remove readme.txt (not required for ClassicPress).
- Update azurecurve menu.
- Update plugin header for compatibility with ClasssicPress v2.
- Update plugin header and readme for compatibility with ClassicPress Directory v2.
- Update Update Manager to version 2.5.0.
- Update readme file for compatibility with ClassicPress Directory.
- Update readme files.
- Update language template.
- Fix bug with azurecurve menu.
- Update azurecurve menu.
- Update readme files.
- Refactor settings page to be accessible using tabs with aria.
- Update translations to escape strings.
- Update azurecurve menu and logo.
- Fix bug with available icons not listing when Icons integration enabled.
- Fix bug with timeline integration.
- Fix bug with timeline signifier not working correctly when integrated with Icons, but no icon selected.
- Integrate with Flags
- Integrate with Icons for icon in page index and timeline signifier.
- Add tabs to settings page.
- Fix bug with plugin active check.
- Update azurecurve plugin menu.
- Fix plugin action link to use admin_url() function.
- Rewrite option handling so defaults not stored in database on plugin initialisation.
- Update azurecurve plugin menu.
- Amend to only load css when shortcode on page.
- Fix bug with incorrect plugin slug declaration for plugin icon and banner.
- Add integration with Timelines from azurecurve.
- Add plugin icon and banner.
- Update generation of page URL to use get_permalink.
- Update CSS to use flexbox instead of line height to handle wrapping within page index tiles.
- Fix bug with pageid parameter not working.
- Fix bug with setting of default options.
- Fix bug with plugin menu.
- Update plugin menu css.
- Rewrite default option creation function to resolve several bugs.
- Upgrade azurecurve plugin to store available plugins in options.
- Update Update Manager class to v2.0.0.
- Update action link.
- Update azurecurve menu icon with compressed image.
- Fix bug with incorrect language load text domain.
- Add integration with Update Manager for automatic updates.
- Fix issue with display of azurecurve menu.
- Change settings page heading.
- Add load_plugin_textdomain to handle translations.
- Add protocol check when constructing page index.
- Update azurecurve menu for easier maintenance.
- Move require of azurecurve menu below security check.
- Initial release for ClassicPress forked from azurecurve Page Index WordPress Plugin.
azurecurve was one of the first plugin developers to start developing for ClassicPress; all plugins are available from azurecurve Development and are integrated with the Update Manager plugin for fully integrated, no hassle, updates.
The plugins available from azurecurve are:
- Add Open Graph Tags – details / download
- Add Twitter Cards – details / download
- Avatars – details / download
- BBCode – details / download
- Breadcrumbs – details / download
- Broken Links – details / download
- Call-out Boxes – details / download
- Chroma – details / download
- Code – details / download
- Comment Validator – details / download
- Conditional Links – details / download
- Contact Forms – details / download
- Disable FLoC – details / download
- Display After Post Content – details / download
- Estimated Read Time – details / download
- Events – details / download
- Feed to Post – details / download
- Filtered Categories – details / download
- Flags – details / download
- Floating Featured Image – details / download
- Get GitHub File – details / download
- Icons – details / download
- Image Optimiser – details / download
- Images – details / download
- Insult Generator – details / download
- Load Admin CSS – details / download
- Loop Injection – details / download
- Lorem Ipsum Generator – details / download
- Maintenance Mode – details / download
- Markdown – details / download
- Nearby – details / download
- Page Index – details / download
- Post Archive – details / download
- Quiz Engine – details / download
- Read GitHub File – details / download
- Redirect – details / download
- Remove Revisions – details / download
- RSS Feed – details / download
- RSS Suffix – details / download
- Series Index – details / download
- Shortcodes in Comments – details / download
- Shortcodes in Widgets – details / download
- SMTP – details / download
- Snippets – details / download
- String Inspector – details / download
- Strong Password Generator – details / download
- Tag Cloud – details / download
- Taxonomy Index – details / download
- Taxonomy Order – details / download
- Theme Switcher – details / download
- Timelines – details / download
- Toggle Show/Hide – details / download
- Update Admin Menu – details / download
- URL Shortener – details / download
- Username Protection – details / download
- View Counter – details / download
- Widget Announcements – details / download