Create a menu using the featured image of a page.
imagemenu, creates an image menu with the pages specified in the shortcode or template_tag
And of course, if you find this plugin useful (especially if it gets you out of a fix in a commercial setting), please feel free to leave feedback via the donate button on the plugin homepage. (I am grateful for those people who have already bought me a beer ???? )
FAQ
Can I ask you a question?
Yes, and I will even try to answer your question! If you are atempting to contact me with Skype Chat, I only accept contact resquests if it is obvious you are asking about this plugin. So don’t be offended if it seems I ignore you. Try an email instead 🙂 .
Tim Hodson
ChangeLog
0.4
- Added: Gutenberg block with page selector, thumbnail size control, and live preview.
- Added: Full-width layout option using WordPress alignfull support.
- Improved: Extracted inline CSS into enqueued stylesheet (css/imagemenu.css).
- Improved: Replaced inline JavaScript with enqueued script using event delegation (js/imagemenu.js).
- Improved: Modern flexbox layout — images auto-scale to fill a single row.
- Improved: Title labels now overlay the bottom of each image.
- Improved: CSS and JS only loaded on pages that use the shortcode or block.
- Improved: User-customised CSS applied via wp_add_inline_style() instead of inline style tags.
- Fixed: Shortcode now returns output instead of echoing (fixes block rendering and placement).
- Fixed: add_options_page() call passing invalid icon parameter.
0.3
- Fixed: Added GPL license declarations to plugin header and readme.
- Fixed: Replaced deprecated split() with explode().
- Fixed: Updated load_plugin_textdomain() to use non-deprecated signature.
- Fixed: Removed pre-2.6 WordPress compatibility defines that changed global behaviour.
- Fixed: Use plugin_dir_path() and plugin_dir_url() for file references.
- Fixed: Added sanitize_callback to all register_setting() calls.
- Fixed: Escaped all output variables and options (esc_html, esc_attr, esc_textarea, wp_kses).
- Fixed: Replaced _e() with esc_attr_e() and () with esc_html() where needed.
- Fixed: Added direct file access prevention to all PHP files.
- Updated: Tested up to WordPress 6.7.
0.2
- Added: jQuery to fade labels in and out.
0.1