Creates the ability to quickly and easily add custom fields to NextGEN Galleries and Images.
This plugin was developed to add custom fields to the excellent and popular NextGEN Gallery plugin. Simply enter the name of your new field(s), select between “input”, “textarea” or “dropdown”, and the field(s) will be automatically added to the “Manage Gallery” screens in the NGG dashboard.
Please note, you do need to add a small tag to the NGG templates to get your custom fields showing in your theme, so please do read the FAQ.
This plugin has been working untouched for about 10 years as of the beginning of 2024. But an update to NextGEN Gallery >= 3.50 broke some functionality. Thankfully it was a small
fix to add support, so I have pushed version 1.2.5 with that support.
wp-content/plugins/
directoryHave you ever wanted to add just a little more information about a picture in your NextGEN Gallery? Maybe you wanted to add the name of the photographer? Or where the picture was taken? Well, with this plugin you can add as many extra custom fields to the images as you need, and stop you trying to squeeze all the info into the description.
After activation the plugin, there will be a new main menu item in the WordPress dashboard, labeled “NGG Custom Fields”. If you open this menu item, you will be able to add “Gallery Custom Fields”, or “Image Custom Fields”.
“Gallery Custom Fields” are used to add information about the gallery as a whole, while Image “Custom Fields” are used for adding information about each individual image. When you add a custom field from this screen, you select which of your NGG galleries it is linked to.
So once you’ve created custom fields linked to your galleries, and inputted the values in NGG’s Manage Gallery screen, you’ll want to display these fields in your galleries on your site.
<?php echo nggcf_get_field($image->pid, "Your Image Field Name"); ?>
<?php echo nggcf_get_gallery_field($gallery->ID, "Your Gallery Field Name"); ?>
For NGG 1.x, you can find the gallery templates in the /plugins/nextgen-gallery/view/
directory. For the default shortcode, [nggallery id=x]
, you
add the tag to the gallery.php
file. If you add the template
attribute to your shortcode, you need to alter the appropriate template. eg:
If you use the [nggallery id=x template="caption"]
, you need to add the tag to the gallery-caption.php
template.
For NGG version 2.x, you need to add the tag to the /nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php
template. This will only work for galleries inserted WITHOUT selecting a template from the gallery display options.
NGG v2.x templating system can be confusing for some users. Please see this page for more info on which templates are used under different settings.
Please be aware, for “Image Custom Fields”, the tag needs to be placed inside the foreach()
loop in the template, as that loop is outputting each image.
For “Gallery Custom Fields”, be sure to place the tag outside of the foreach, or it will show for each image.
Make sure you add the fields you want to the correct place. Image fields added from the “Image Custom Fields” menu option and gallery fields from the “Gallery Custom Fields” option. Sounds simple, but you can overlook it.
NGG 2.x introduced template caching, so sometimes you need to clear the cache to get the custom fields showing in your gallery. Go to “Gallery->Other Options->Miscellaneous” and click the “Clear image cache” button, the refresh your gallery page.
If you have unusual characters in your fields names, it can break the output. Stick to upper and lower case letters, and numbers to avoid any issues. As of version 0.5 there is some basic sanitation done to the names of fields and their values, but it is far from perfect. It should allow characters such as apostrophes well enough though.
add_menu_page()
and add_submenu_page()
changing capability to ‘manage_options’ from deprecated user level 8 (thanks to ksemel for the report)field_value
column back to TEXT from VARCHAR(255), to allow more than 255 characters saved (thanks to ksemel for the find and bug report)