Modula Image Gallery – Photo Grid & Video Gallery Security & Risk Analysis

wordpress.org/plugins/modula-best-grid-gallery

Create responsive image galleries with drag-and-drop grid builder. Custom layouts, video support, AI optimization. Works with any theme.

100K active installs v2.14.20 PHP 5.6+ WP 5.3+ Updated Mar 12, 2026
gallery-pluginimage-galleryresponsive-galleryvideo-gallerywordpress-gallery-plugin
87
A · Safe
CVEs total14
Unpatched0
Last CVEFeb 13, 2026
Safety Verdict

Is Modula Image Gallery – Photo Grid & Video Gallery Safe to Use in 2026?

Generally Safe

Score 87/100

Modula Image Gallery – Photo Grid & Video Gallery has a strong security track record. Known vulnerabilities have been patched promptly.

14 known CVEsLast CVE: Feb 13, 2026Updated 22d ago
Risk Assessment

The Modula Best Grid Gallery plugin exhibits a mixed security posture. On one hand, it demonstrates good practices with a high percentage of SQL queries using prepared statements and a significant majority of outputs being properly escaped. The presence of a considerable number of capability checks also suggests an effort to secure certain functionalities. However, significant concerns arise from the static analysis. A notable 35% of AJAX handlers (12 out of 31) lack authentication checks, creating a large attack surface for unauthorized actions. While taint analysis did not reveal critical or high severity issues, the presence of unsanitized paths is a potential risk that needs careful monitoring.

The plugin's vulnerability history is a major red flag. With 14 known CVEs, including 4 high and 9 medium severity vulnerabilities, the plugin has a track record of security weaknesses. The common vulnerability types (XSS, Unrestricted Upload, Path Traversal, Authorization issues) further highlight recurring security flaws. While there are currently no unpatched CVEs, the historical pattern indicates a need for continuous vigilance and prompt patching of any new vulnerabilities. The last vulnerability being in early 2026 suggests the data might be historical or speculative in that regard.

In conclusion, while the plugin has some strengths in its code practices, the substantial number of unprotected AJAX endpoints and its extensive history of high and medium severity vulnerabilities present a considerable risk. The frequent occurrence of common vulnerability types suggests potential systemic issues that require thorough code review and ongoing security updates. The plugin's overall security needs improvement, particularly in securing its entry points and ensuring a more robust history of vulnerability-free operation.

Key Concerns

  • Unprotected AJAX handlers
  • High number of total CVEs
  • High severity CVEs in history
  • Medium severity CVEs in history
  • Flows with unsanitized paths
  • Bundled TinyMCE library
Vulnerabilities
14

Modula Image Gallery – Photo Grid & Video Gallery Security Vulnerabilities

CVEs by Year

1 CVE in 2020
2020
2 CVEs in 2022
2022
1 CVE in 2023
2023
8 CVEs in 2025
2025
2 CVEs in 2026
2026
Patched Has unpatched

Severity Breakdown

High
4
Medium
9
Low
1

14 total CVEs

CVE-2026-1254medium · 4.3Missing Authorization

Modula Image Gallery – Photo Grid & Video Gallery <= 2.13.6 - Missing Authorization to Authenticated (Contributor+) Arbitrary Post/Page Editing

Feb 13, 2026 Patched in 2.13.7 (1d)
CVE-2026-23976medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Modula Image Gallery <= 2.13.4 - Authenticated (Author+) Stored Cross-Site Scripting

Feb 4, 2026 Patched in 2.13.5 (6d)
CVE-2025-14003medium · 4.3Missing Authorization

Image Gallery – Photo Grid & Video Gallery <= 2.13.3 - Missing Authorization to Authenticated (Author+) Arbitrary Gallery Modification

Dec 15, 2025 Patched in 2.13.4 (1d)
CVE-2025-13891medium · 6.5Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Image Gallery – Photo Grid & Video Gallery (Modula) <= 2.13.3 - Missing Authorization to Arbitrary Directory Listing

Dec 11, 2025 Patched in 2.13.4 (1d)
CVE-2025-13646high · 7.5Unrestricted Upload of File with Dangerous Type

Modula 2.13.1 - 2.13.2 - Authenticated (Author+) Arbitrary File Upload via Race Condition

Dec 2, 2025 Patched in 2.13.3 (1d)
CVE-2025-13645high · 7.2Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Modula 2.13.1 - 2.13.2 - Authenticated (Author+) Arbitrary File Deletion

Dec 2, 2025 Patched in 2.13.3 (1d)
CVE-2026-24939medium · 4.3Missing Authorization

Modula Image Gallery <= 2.13.6 - Missing Authorization

Nov 22, 2025 Patched in 2.13.7 (81d)
CVE-2025-12494medium · 4.3Improper Authorization

Image Gallery – Photo Grid & Video Gallery <= 2.12.28 - Improper Authorization to Authenticated (Author+) Arbitrary Image File Move

Nov 14, 2025 Patched in 2.12.29 (1d)
CVE-2024-9416medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Modula Image Gallery <= 2.10.1 - Authenticated (Contributor+) Stored DOM-Based Cross-Site Scripting via FancyBox 5 JavaScript Library

Apr 2, 2025 Patched in 2.10.2 (1d)
CVE-2024-12853high · 8.8Unrestricted Upload of File with Dangerous Type

Modula Image Gallery <= 2.11.10 - Authenticated (Author+) Arbitrary File Upload

Jan 7, 2025 Patched in 2.11.11 (1d)

Modula <= 2.7.4 - Incomplete Authorization via 'save_image' and 'save_images'

Sep 10, 2023 Patched in 2.7.5 (135d)
CVE-2022-41135high · 7.5Missing Authorization

Customizable WordPress Gallery Plugin – Modula Image Gallery <= 2.6.9 - Missing Authorization to Plugin Settings Change

Oct 28, 2022 Patched in 2.6.91 (452d)
WF-354c2c6c-5ba1-4bbe-88e4-9d219b66802a-modula-best-grid-gallerymedium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Modula Image Gallery <= 2.6.6 - Reflected Cross-Site Scripting

Jun 6, 2022 Patched in 2.6.7 (596d)
CVE-2020-9003medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Modula Image Gallery <= 2.2.4 - Authenticated Stored Cross-Site Scripting

Feb 19, 2020 Patched in 2.2.5 (1434d)
Code Analysis
Analyzed Mar 16, 2026

Modula Image Gallery – Photo Grid & Video Gallery Code Analysis

Dangerous Functions
0
Raw SQL Queries
1
53 prepared
Unescaped Output
119
705 escaped
Nonce Checks
22
Capability Checks
39
File Operations
10
External Requests
8
Bundled Libraries
1

Bundled Libraries

TinyMCE

SQL Query Safety

98% prepared54 total queries

Output Escaping

86% escaped824 total outputs
Data Flows
3 unsanitized

Data Flow Analysis

7 flows3 with unsanitized paths
media_browser (includes\admin\helpers\class-modula-gallery-upload.php:267)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
12 unprotected

Modula Image Gallery – Photo Grid & Video Gallery Attack Surface

Entry Points34
Unprotected12

AJAX Handlers 31

authwp_ajax_modula_autocompleteincludes\admin\class-modula-admin.php:12
authwp_ajax_modula_lbu_noticeincludes\admin\class-modula-admin.php:15
authwp_ajax_add_images_to_galleryincludes\admin\class-modula-admin.php:20
authwp_ajax_modula_remember_tabincludes\admin\cpt\class-modula-cpt.php:45
authwp_ajax_modula-edit-noticeincludes\admin\cpt\class-modula-cpt.php:58
authwp_ajax_modula_list_foldersincludes\admin\helpers\class-modula-gallery-upload.php:65
authwp_ajax_modula_check_pathsincludes\admin\helpers\class-modula-gallery-upload.php:69
authwp_ajax_modula_check_filesincludes\admin\helpers\class-modula-gallery-upload.php:71
authwp_ajax_modula_import_fileincludes\admin\helpers\class-modula-gallery-upload.php:73
authwp_ajax_modula_add_images_idsincludes\admin\helpers\class-modula-gallery-upload.php:75
authwp_ajax_modula_unzip_fileincludes\admin\helpers\class-modula-gallery-upload.php:81
authwp_ajax_modula_modal-albums_upgradeincludes\admin\upsells\class-modula-modal-handler.php:56
authwp_ajax_modula_modal-bulk-editor_upgradeincludes\admin\upsells\class-modula-modal-handler.php:57
authwp_ajax_modula_modal-albums-defaults_upgradeincludes\admin\upsells\class-modula-modal-handler.php:60
authwp_ajax_modula_modal-gallery-defaults_upgradeincludes\admin\upsells\class-modula-modal-handler.php:63
authwp_ajax_modula_modal-image-licensing_upgradeincludes\admin\upsells\class-modula-modal-handler.php:66
authwp_ajax_modula_modal-image-proofing_upgradeincludes\admin\upsells\class-modula-modal-handler.php:69
authwp_ajax_modula_modal-content-galleries_upgradeincludes\admin\upsells\class-modula-modal-handler.php:72
authwp_ajax_modula_modal-instagram_upgradeincludes\admin\upsells\class-modula-modal-handler.php:75
authwp_ajax_modula_modal-video_upgradeincludes\admin\upsells\class-modula-modal-handler.php:78
authwp_ajax_modula_shortcode_editorincludes\core\class-modula-hook-manager.php:40
authwp_ajax_modula_get_galleryincludes\features\gutenberg\class-modula-gutenberg.php:28
authwp_ajax_modula_get_jsconfigincludes\features\gutenberg\class-modula-gutenberg.php:29
authwp_ajax_modula_check_hover_effectincludes\features\gutenberg\class-modula-gutenberg.php:30
authwp_ajax_modula_ajax_import_imagesincludes\features\migrate\class-modula-ajax-migrator.php:26
authwp_ajax_modula_importer_wp_core_gallery_importincludes\features\migrate\wp-core-gallery\class-modula-wp-core-gallery-importer.php:26
authwp_ajax_wpchill_telemetry_opt_inincludes\features\telemetry\class-wpchill-telemetry-core.php:124
authwp_ajax_wpchill_telemetry_opt_outincludes\features\telemetry\class-wpchill-telemetry-core.php:125
authwp_ajax_wpchill_telemetry_dismiss_consentincludes\features\telemetry\class-wpchill-telemetry-core.php:126
authwp_ajax_modula_elementor_ajax_searchincludes\features\third-party-builders\elementor\class-modula-elementor-widget-activation.php:53
authwp_ajax_modula_uninstall_pluginincludes\uninstall\class-modula-uninstall.php:20

Shortcodes 3

[modula] includes\public\shortcode\class-modula-shortcode.php:21
[Modula] includes\public\shortcode\class-modula-shortcode.php:22
[modula-make-money] includes\public\shortcode\class-modula-shortcode.php:24
WordPress Hooks 226
actionadmin_menuincludes\admin\class-modula-admin.php:10
actionmodula_scripts_before_wp_modulaincludes\admin\class-modula-admin.php:11
actiondelete_attachmentincludes\admin\class-modula-admin.php:13
filteradmin_body_classincludes\admin\class-modula-admin.php:17
filterbulk_actions-uploadincludes\admin\class-modula-admin.php:23
filterhandle_bulk_actions-uploadincludes\admin\class-modula-admin.php:24
filteradmin_initincludes\admin\class-modula-admin.php:25
actionadmin_noticesincludes\admin\class-modula-admin.php:26
actioninitincludes\admin\cpt\class-modula-cpt.php:27
actionrest_api_initincludes\admin\cpt\class-modula-cpt.php:29
actionload-post.phpincludes\admin\cpt\class-modula-cpt.php:32
actionload-post-new.phpincludes\admin\cpt\class-modula-cpt.php:33
actionadmin_menuincludes\admin\cpt\class-modula-cpt.php:34
filterviews_edit-modula-galleryincludes\admin\cpt\class-modula-cpt.php:36
filtersubmenu_fileincludes\admin\cpt\class-modula-cpt.php:41
filterget_edit_post_linkincludes\admin\cpt\class-modula-cpt.php:44
filterquery_varsincludes\admin\cpt\class-modula-cpt.php:60
filterpre_get_postsincludes\admin\cpt\class-modula-cpt.php:61
actionviews_edit-modula-galleryincludes\admin\cpt\class-modula-cpt.php:62
actionrestrict_manage_postsincludes\admin\cpt\class-modula-cpt.php:63
actionadd_meta_boxesincludes\admin\cpt\class-modula-cpt.php:547
actionsave_postincludes\admin\cpt\class-modula-cpt.php:550
actionadmin_footerincludes\admin\cpt\class-modula-field-builder.php:12
actionadmin_enqueue_scriptsincludes\admin\dashboard\class-modula-dashboard.php:56
filteradmin_menuincludes\admin\dashboard\class-modula-dashboard.php:58
actionin_admin_headerincludes\admin\dashboard\class-modula-dashboard.php:61
actionadmin_initincludes\admin\dashboard\class-modula-dashboard.php:66
actionadmin_enqueue_scriptsincludes\admin\dashboard\class-modula-dashboard.php:68
filterdebug_informationincludes\admin\debug\class-modula-debug.php:22
actionadmin_initincludes\admin\helpers\class-modula-gallery-upload.php:59
actionmodula_gallery_media_select_optionincludes\admin\helpers\class-modula-gallery-upload.php:61
actionmedia_upload_modula_file_browserincludes\admin\helpers\class-modula-gallery-upload.php:63
actionadmin_enqueue_scriptsincludes\admin\helpers\class-modula-gallery-upload.php:67
actionmodula_gallery_media_select_optionincludes\admin\helpers\class-modula-gallery-upload.php:77
filterupload_dirincludes\admin\helpers\class-modula-gallery-upload.php:79
actionadmin_print_stylesincludes\admin\helpers\class-modula-gallery-upload.php:280
actionexport_wpincludes\admin\importer\class-modula-importer-exporter.php:18
actionimport_startincludes\admin\importer\class-modula-importer-exporter.php:21
actionimport_endincludes\admin\importer\class-modula-importer-exporter.php:22
filterwp_import_post_termsincludes\admin\importer\class-modula-importer-exporter.php:27
actionrss2_headincludes\admin\importer\class-modula-importer-exporter.php:33
actionadmin_enqueue_scriptsincludes\admin\listing\class-gallery-listing-output.php:26
filtermax_srcset_image_widthincludes\admin\media\class-modula-media.php:94
filterwp_img_tag_add_srcset_and_sizes_attrincludes\admin\media\class-modula-media.php:98
actioninitincludes\admin\rest-api\class-modula-extensions-base.php:48
filtermodula_admin_page_subtabsincludes\admin\rest-api\class-modula-extensions-base.php:50
actionrest_api_initincludes\admin\rest-api\class-modula-migrator-rest.php:31
actionrest_api_initincludes\admin\rest-api\class-modula-rest-api.php:12
actionmodula_settings_api_update_modula_rolesincludes\admin\settings\class-modula-settings.php:96
actionmodula_gallery_media_select_optionincludes\admin\upsells\class-modula-button-handler.php:22
actionmodula_gallery_media_select_optionincludes\admin\upsells\class-modula-button-handler.php:23
actionmodula_gallery_media_select_optionincludes\admin\upsells\class-modula-button-handler.php:24
actionmodula_gallery_media_buttonincludes\admin\upsells\class-modula-button-handler.php:26
filtermodula_cpt_metaboxesincludes\admin\upsells\class-modula-metabox-handler.php:22
actionload-post.phpincludes\admin\upsells\class-modula-metabox-handler.php:26
actionload-post-new.phpincludes\admin\upsells\class-modula-metabox-handler.php:27
actionadd_meta_boxesincludes\admin\upsells\class-modula-metabox-handler.php:35
filtermodula_admin_page_tabsincludes\admin\upsells\class-modula-navigation-handler.php:25
actionmodula_admin_tab_imageseoincludes\admin\upsells\class-modula-settings-tab-handler.php:21
actionmodula_admin_tab_compressionincludes\admin\upsells\class-modula-settings-tab-handler.php:22
actionmodula_admin_tab_standaloneincludes\admin\upsells\class-modula-settings-tab-handler.php:23
actionmodula_admin_tab_shortcodesincludes\admin\upsells\class-modula-settings-tab-handler.php:24
actionmodula_admin_tab_watermarkincludes\admin\upsells\class-modula-settings-tab-handler.php:25
actionmodula_admin_tab_rolesincludes\admin\upsells\class-modula-settings-tab-handler.php:26
actionmodula_admin_tab_whitelabelincludes\admin\upsells\class-modula-settings-tab-handler.php:27
actionmodula_admin_tab_videoincludes\admin\upsells\class-modula-settings-tab-handler.php:28
actionmodula_admin_tab_instagramincludes\admin\upsells\class-modula-settings-tab-handler.php:29
filtermodula_hover-effect_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:21
filtermodula_image-loaded-effects_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:22
filtermodula_video_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:23
filtermodula_speedup_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:24
filtermodula_filters_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:25
filtermodula_lightboxes_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:26
filtermodula_misc_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:27
filtermodula_password_protect_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:28
filtermodula_watermark_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:29
filtermodula_slideshow_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:30
filtermodula_download_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:31
filtermodula_exif_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:32
filtermodula_zoom_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:33
filtermodula_image_licensing_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:34
filtermodula_comments_tab_contentincludes\admin\upsells\class-modula-tab-content-handler.php:35
actionadmin_enqueue_scriptsincludes\admin\wpchill\class-wpchill-about-us.php:13
filteradmin_menuincludes\admin\wpchill\class-wpchill-about-us.php:15
actionin_admin_headerincludes\admin\wpchill\class-wpchill-about-us.php:18
actionadmin_enqueue_scriptsincludes\admin\wpchill\class-wpchill-notifications.php:29
actionadmin_print_stylesincludes\admin\wpchill\class-wpchill-remote-upsells.php:147
actionrest_api_initincludes\admin\wpchill\class-wpchill-rest-api.php:12
actionadmin_headincludes\core\class-modula-hook-manager.php:24
actionadmin_enqueue_scriptsincludes\core\class-modula-hook-manager.php:25
actionadmin_enqueue_scriptsincludes\core\class-modula-hook-manager.php:26
actionadmin_enqueue_scriptsincludes\core\class-modula-hook-manager.php:27
actionadmin_enqueue_scriptsincludes\core\class-modula-hook-manager.php:28
actionadmin_menuincludes\core\class-modula-hook-manager.php:30
actioninitincludes\core\class-modula-hook-manager.php:32
actionwidgets_initincludes\core\class-modula-hook-manager.php:35
filtermce_buttonsincludes\core\class-modula-hook-manager.php:38
filtermce_external_pluginsincludes\core\class-modula-hook-manager.php:39
actionadmin_print_scriptsincludes\core\class-modula-hook-manager.php:41
actionmodula_before_galleryincludes\core\class-modula-hook-manager.php:75
actionmodula_after_galleryincludes\core\class-modula-hook-manager.php:76
actionadmin_enqueue_scriptsincludes\core\class-modula-hook-manager.php:78
actionwp_enqueue_mediaincludes\core\class-modula-hook-manager.php:79
actiondivi_extensions_initincludes\core\class-modula-hook-manager.php:90
actionplugins_loadedincludes\core\class-modula-hook-manager.php:91
actionadmin_initincludes\core\compatibility\class-ai-compatibility.php:11
filtermodula_admin_field_valueincludes\core\compatibility\class-modula-backward-compatibility.php:12
filtermodula_gallery_settingsincludes\core\compatibility\class-modula-backward-compatibility.php:13
filtermodula_backbone_settingsincludes\core\compatibility\class-modula-backward-compatibility.php:14
filtermodula_admin_field_valueincludes\core\compatibility\class-modula-backward-compatibility.php:16
filtermodula_shortcode_item_dataincludes\core\compatibility\class-modula-backward-compatibility.php:17
filtermodula_backbone_settingsincludes\core\compatibility\class-modula-backward-compatibility.php:18
filtermodula_admin_field_valueincludes\core\compatibility\class-modula-backward-compatibility.php:21
filtermodula_backbone_settingsincludes\core\compatibility\class-modula-backward-compatibility.php:22
filtermodula_admin_field_valueincludes\core\compatibility\class-modula-backward-compatibility.php:25
filtermodula_backwards_compatibility_frontincludes\core\compatibility\class-modula-backward-compatibility.php:26
filtermodula_backbone_settingsincludes\core\compatibility\class-modula-backward-compatibility.php:27
filtermodula_admin_field_valueincludes\core\compatibility\class-modula-backward-compatibility.php:30
filtermodula_backwards_compatibility_frontincludes\core\compatibility\class-modula-backward-compatibility.php:31
filtermodula_backbone_settingsincludes\core\compatibility\class-modula-backward-compatibility.php:32
filtermodula_fancybox_optionsincludes\core\compatibility\class-modula-backward-compatibility.php:34
filtermodula_shortcode_cssincludes\core\compatibility\class-modula-backward-compatibility.php:35
filtermodula_link_shortcode_cssincludes\core\compatibility\class-modula-backward-compatibility.php:36
filtermodula_shortcode_item_dataincludes\core\compatibility\class-modula-backward-compatibility.php:39
filtermodula_album_lightbox_itemincludes\core\compatibility\class-modula-backward-compatibility.php:40
filtermodula_album_template_dataincludes\core\compatibility\class-modula-backward-compatibility.php:41
filtermodula_shortcode_item_dataincludes\core\compatibility\class-modula-backward-compatibility.php:44
filtermodula_album_shortcode_item_dataincludes\core\compatibility\class-modula-backward-compatibility.php:45
filtermodula_album_lightbox_itemincludes\core\compatibility\class-modula-backward-compatibility.php:46
filtermodula_link_itemincludes\core\compatibility\class-modula-backward-compatibility.php:47
filtermodula_template_image_srcsetincludes\core\compatibility\class-modula-backward-compatibility.php:48
filtermodula_admin_field_valueincludes\core\compatibility\class-modula-backward-compatibility.php:51
filtermodula_backwards_compatibility_frontincludes\core\compatibility\class-modula-backward-compatibility.php:52
actioninitincludes\core\compatibility\class-modula-backward-compatibility.php:54
filtermodula_speedup_tab_contentincludes\core\compatibility\class-modula-compatibility.php:22
filtermodula_field_type_toggle_formatincludes\core\compatibility\class-modula-compatibility.php:23
filtermodula_gallery_settingsincludes\core\compatibility\class-modula-compatibility.php:32
filtermodula_lazyload_compatibility_scriptincludes\core\compatibility\class-modula-compatibility.php:33
filtermodula_lazyload_compatibility_itemincludes\core\compatibility\class-modula-compatibility.php:41
filtermodula_admin_field_valueincludes\core\compatibility\class-modula-compatibility.php:42
filtermodula_backbone_settingsincludes\core\compatibility\class-modula-compatibility.php:43
filterimagify_picture_img_attributesincludes\core\compatibility\class-modula-compatibility.php:46
filterimagify_picture_attributesincludes\core\compatibility\class-modula-compatibility.php:47
filtermodula_shortcode_item_dataincludes\core\compatibility\class-modula-compatibility.php:50
filtermodula_helper_propertiesincludes\features\ai\admin-area\class-admin-area.php:10
actionrest_api_initincludes\features\ai\admin-area\class-rest-api.php:50
actionaction_scheduler_before_executeincludes\features\ai\class-image-descriptor.php:33
actioninitincludes\features\ai\optimizer\class-optimizer.php:79
filterpost_row_actionsincludes\features\duplicator\class-modula-duplicator.php:11
actionadmin_action_modula_duplicate_gallery_save_as_new_postincludes\features\duplicator\class-modula-duplicator.php:12
actionmodula_duplicate_galleryincludes\features\duplicator\class-modula-duplicator.php:13
filtermodula_gallery_settingsincludes\features\grid\class-modula-grid.php:27
actionmodula_shortcode_before_itemsincludes\features\grid\class-modula-grid.php:30
filtermodula_shortcode_cssincludes\features\grid\class-modula-grid.php:33
filtermodula_gallery_template_dataincludes\features\grid\class-modula-grid.php:35
actioninitincludes\features\gutenberg\class-modula-gutenberg.php:25
actioninitincludes\features\gutenberg\class-modula-gutenberg.php:26
actionadmin_enqueue_scriptsincludes\features\gutenberg\class-modula-gutenberg.php:27
filterrest_prepare_modula-galleryincludes\features\gutenberg\class-modula-gutenberg.php:33
actionmodula_after_galleryincludes\features\licensing\class-modula-licensing.php:20
actionmodula_shortcode_after_itemincludes\features\licensing\class-modula-licensing.php:21
actionwp_footerincludes\features\licensing\class-modula-licensing.php:22
filtermodula_admin_page_main_tabsincludes\features\migrate\class-modula-importer.php:27
filtermodula_uninstall_db_optionsincludes\features\migrate\class-modula-importer.php:50
actionadmin_initincludes\features\migrate\class-modula-migrator-detector.php:84
actionadmin_enqueue_scriptsincludes\features\migrate\class-modula-migrator-detector.php:85
actionactivated_pluginincludes\features\migrate\class-modula-migrator-detector.php:88
actiondeactivated_pluginincludes\features\migrate\class-modula-migrator-detector.php:89
actioninitincludes\features\seo\class-modula-image-sitemaps.php:26
filterwpseo_sitemap_urlimagesincludes\features\seo\class-modula-image-sitemaps.php:33
filterrank_math/sitemap/urlimagesincludes\features\seo\class-modula-image-sitemaps.php:39
filterseopress_sitemaps_xml_singleincludes\features\seo\class-modula-image-sitemaps.php:45
filterwpchill_telemetry_productsincludes\features\telemetry\class-modula-telemetry-integration.php:33
filterwpchill_telemetry_extensionsincludes\features\telemetry\class-modula-telemetry-integration.php:34
filterwpchill_telemetry_themesincludes\features\telemetry\class-modula-telemetry-integration.php:35
filterwpchill_telemetry_third_partyincludes\features\telemetry\class-modula-telemetry-integration.php:36
filterwpchill_telemetry_settingsincludes\features\telemetry\class-modula-telemetry-integration.php:37
filterwpchill_telemetry_settings_allowlistincludes\features\telemetry\class-modula-telemetry-integration.php:38
actionactivated_pluginincludes\features\telemetry\class-modula-telemetry-integration.php:41
actiondeactivated_pluginincludes\features\telemetry\class-modula-telemetry-integration.php:42
actioninitincludes\features\telemetry\class-modula-telemetry-integration.php:45
filtercron_schedulesincludes\features\telemetry\class-wpchill-telemetry-core.php:102
actionwpchill_telemetry_weekly_reportincludes\features\telemetry\class-wpchill-telemetry-core.php:104
actionwpchill_telemetry_process_queueincludes\features\telemetry\class-wpchill-telemetry-core.php:113
actionwpchill_telemetry_send_batchincludes\features\telemetry\class-wpchill-telemetry-core.php:122
actionadmin_footerincludes\features\telemetry\class-wpchill-telemetry-core.php:128
actionadmin_noticesincludes\features\telemetry\class-wpchill-telemetry-core.php:183
actionet_fb_enqueue_assetsincludes\features\third-party-builders\divi-extension\includes\modules\ModulaDivi\ModulaDivi.php:19
actionplugins_loadedincludes\features\third-party-builders\elementor\class-modula-elementor-check.php:41
actionadmin_noticesincludes\features\third-party-builders\elementor\class-modula-elementor-check.php:52
actionadmin_noticesincludes\features\third-party-builders\elementor\class-modula-elementor-check.php:58
actionelementor/widgets/widgets_registeredincludes\features\third-party-builders\elementor\class-modula-elementor-check.php:62
actionelementor/widgets/widgets_registeredincludes\features\third-party-builders\elementor\class-modula-elementor-widget-activation.php:44
actionelementor/editor/before_enqueue_scriptsincludes\features\third-party-builders\elementor\class-modula-elementor-widget-activation.php:47
actionelementor/preview/enqueue_scriptsincludes\features\third-party-builders\elementor\class-modula-elementor-widget-activation.php:50
actionelementor/preview/enqueue_stylesincludes\features\third-party-builders\elementor\class-modula-elementor-widget-activation.php:51
actioninitincludes\features\third-party-builders\modula-beaver-block\class-modula-beaver.php:13
actionwp_enqueue_scriptsincludes\features\third-party-builders\modula-beaver-block\class-modula-beaver.php:14
filtermodula_troubleshooting_frontend_handlesincludes\features\troubleshoot\class-modula-troubleshooting.php:33
filtermodula_troubleshooting_frontend_handlesincludes\features\troubleshoot\class-modula-troubleshooting.php:34
filtermodula_troubleshooting_frontend_handlesincludes\features\troubleshoot\class-modula-troubleshooting.php:35
filtermodula_troubleshooting_frontend_handlesincludes\features\troubleshoot\class-modula-troubleshooting.php:36
actionwp_enqueue_scriptsincludes\features\troubleshoot\class-modula-troubleshooting.php:38
actionadmin_initincludes\features\troubleshoot\class-modula-troubleshooting.php:46
actionadmin_enqueue_scriptsincludes\features\troubleshoot\class-modula-troubleshooting.php:47
actionsiteorigin_panel_enqueue_admin_scriptsincludes\features\widget\class-modula-widget.php:19
actionwp_headincludes\public\meta\class-modula-meta.php:26
actionwp_enqueue_scriptsincludes\public\meta\class-modula-meta.php:28
actionwp_enqueue_scriptsincludes\public\shortcode\class-modula-shortcode.php:25
actionwp_enqueue_scriptsincludes\public\shortcode\class-modula-shortcode.php:26
actionwp_footerincludes\public\shortcode\class-modula-shortcode.php:27
filtermodula_shortcode_item_dataincludes\public\shortcode\class-modula-shortcode.php:30
filtermodula_shortcode_item_dataincludes\public\shortcode\class-modula-shortcode.php:31
filtermodula_shortcode_item_dataincludes\public\shortcode\class-modula-shortcode.php:32
filtermodula_shortcode_item_dataincludes\public\shortcode\class-modula-shortcode.php:33
filtermodula_shortcode_item_dataincludes\public\shortcode\class-modula-shortcode.php:34
filtermodula_gallery_template_dataincludes\public\shortcode\class-modula-shortcode.php:35
filtermodula_gallery_template_dataincludes\public\shortcode\class-modula-shortcode.php:36
actionmodula_shortcode_after_itemsincludes\public\shortcode\class-modula-shortcode.php:37
actionmodula_shortcode_after_itemsincludes\public\shortcode\class-modula-shortcode.php:38
actionmodula_item_template_imageincludes\public\shortcode\class-modula-shortcode.php:41
filtermodula_necessary_scriptsincludes\public\shortcode\class-modula-shortcode.php:44
actionmodula_item_after_imageincludes\public\shortcode\class-modula-shortcode.php:46
filterbody_classincludes\public\shortcode\class-modula-shortcode.php:49
actionadmin_footer-plugins.phpincludes\uninstall\class-modula-uninstall.php:19
actionadmin_enqueue_scriptsincludes\uninstall\class-modula-uninstall.php:21

Scheduled Events 4

wpchill_telemetry_weekly_report
wpchill_telemetry_process_queue
wpchill_telemetry_send_batch
wpchill_telemetry_state_send
Maintenance & Trust

Modula Image Gallery – Photo Grid & Video Gallery Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 12, 2026
PHP min version5.6
Downloads6.3M

Community Trust

Rating94/100
Number of ratings604
Active installs100K
Developer Profile

Modula Image Gallery – Photo Grid & Video Gallery Developer Profile

WP Chill

29 plugins · 440K total installs

76
trust score
Avg Security Score
96/100
Avg Patch Time
608 days
View full developer profile
Detection Fingerprints

How We Detect Modula Image Gallery – Photo Grid & Video Gallery

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/modula-best-grid-gallery/assets/css/admin/modula.css/wp-content/plugins/modula-best-grid-gallery/assets/css/frontend/modula.frontend.css/wp-content/plugins/modula-best-grid-gallery/assets/js/admin/modula.admin.js/wp-content/plugins/modula-best-grid-gallery/assets/js/frontend/modula.frontend.js/wp-content/plugins/modula-best-grid-gallery/assets/js/modula.gallery.js
Script Paths
/wp-content/plugins/modula-best-grid-gallery/assets/js/admin/modula.admin.js/wp-content/plugins/modula-best-grid-gallery/assets/js/frontend/modula.frontend.js/wp-content/plugins/modula-best-grid-gallery/assets/js/modula.gallery.js
Version Parameters
modula-best-grid-gallery/assets/css/admin/modula.css?ver=modula-best-grid-gallery/assets/css/frontend/modula.frontend.css?ver=modula-best-grid-gallery/assets/js/admin/modula.admin.js?ver=modula-best-grid-gallery/assets/js/frontend/modula.frontend.js?ver=modula-best-grid-gallery/assets/js/modula.gallery.js?ver=

HTML / DOM Fingerprints

CSS Classes
modula-gallery-containermodula-gridmodula-imagemodula-captionmodula-itemmodula-slider-wrapmodula-slider-itemmodula-navigation+7 more
Data Attributes
data-modula-settingsdata-modula-gallery-iddata-modula-iddata-gallery-id
JS Globals
modula_galleriesmodula_gallery_settings
REST Endpoints
/wp-json/modula/v1/gallery/wp-json/modula/v1/settings/wp-json/modula/v1/galleries
Shortcode Output
[modula id=
FAQ

Frequently Asked Questions about Modula Image Gallery – Photo Grid & Video Gallery