Image Source Control


Did you ever forget to add the source to an image file in the frontend and the lawyer of the copyright holder knocked on your door?

Image Source Control (ISC) helps to prevent this situation.

version 2.0

Version 2.0 is in the making with a lot of improvements and fixes
I would appreciate anyone who would download and test it from

Please report any issues directly in github.

Image Sources Lists

You can choose between different image source list types:

  • source as image caption/overlay (not compatible with all themes)
  • source list below the content
  • combined source list of all images

Frontend Features

  • display sources for images in content, galleries, shortcodes and featured images
  • show image source directly in the image (not working with all images and themes)
  • include a list with all images and their sources of the current page/post
  • include a list with all images and their sources of the whole website
  • attach lists below the content automatically or using shortcodes or template functions
  • display image sources on archive pages

Backend Features

  • manage image source within media dashboard and in the Image block settings
  • mark an image to belong to the uploader
  • lists images with missing sources in the backend
  • warnings, if image source is missing
  • link sources to any url
  • manage, display and link licenses


English, German


Also have a look at the image source control website.

Find a list of images with missing sources under Media > Missing sources

Automatic image sources

You can choose to display image sources automatically below the post content or as a small overlay above your images. Just visit the settings page of the plugin to enable those options.

Manually included image sources on pages/posts

You can add the image source list manually to pages or post via the shortcode [isc_list] in your content editor. You can use [isc_list id="123] to show the list of any post or page.

You can also add the list with the function isc_list() within the loop in your template files. Use isc_list( $post_id ) to show the image source list outside the loop.

You should also check first if the function exists before using it:

List all image sources

You can add a paginated list with ALL attachments and sources attached to posts and pages using the shortcode [isc_list_all].

Use [isc_list_all per_page="25"] to show only a limited number of images per page.

Use [isc_list_all included="all"] to show all attachments in the list, including those not explicitly attached to a post.

The plugin searches your post content and thumbnail for images (attachments) and lists them, if you included at least the image source or marked it as your own image.

Legal Notice

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


  • edit image source settings in the Image block
  • display a list with all images of your site and their sources
  • display image source within the image
  • some of the settings to customize how to display image sources


This section describes how to install the plugin and get it working.


  1. Upload wg-image-source-control-folder to the /wp-content/plugins/ directory
  2. Activate ISC through the ‘Plugins’ menu in WordPress
  3. Visit Settings > Image Control to set up the plugin

See the Juhised section here.


13. nov. 2019
Wer mit vielen Fotos aus diversen Quellen arbeitet, z.b. in einem Veranstaltungskalender ist man häufig damit konfrontiert, muss darauf achten, dass der Fotograf genannt wird. Dies wird mit diesem Plugin vereinfacht. Es bindet sich gut in den Workflow und zeigt z.b. (auf Wunsch) immer an, wenn Bilder existieren die noch keine Angabe haben. Auf den Seiten kann die Quelle dann in verschiedenen Variationen angezeigt werden. Ein Punkt Abzug, weil die Umsetzung für die Telefondisplays bei der "overlay" Ansicht nicht optimal ist. Und Daumen hoch für die sehr schnelle Reaktion bei Fehlermeldungen.
18. märts 2019
The Plugin works great and is very usefull. If you think about a PRO/Paid Version: I use the same Image Sources often so it would save me even more time if I could pick one from a dropdown boy and/or set a default. Kind regards
Read all 25 reviews

Contributors & Developers

“Image Source Control” is open source software. The following people have contributed to this plugin.


“Image Source Control” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “Image Source Control” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • hotfix for WordPress 5.5 breaking classic and other custom editors


  • fixed block editor files being loaded in the frontend


  • fixed JavaScript bug in block editor with WordPress 5.3


  • removed CSS class which was set automatically in the image block


  • fix for block translations


  • added image source settings to Image block


  • changed licence string to license to match en_US language base
  • extended list of copyright licenses


  • fixed issue using [isc_list] without overlays


  • removed additional output introduced in 1.9.3


  • fixed index error


  • prevent image source overlay on full image source list and below
  • optimized query of missing-sources check
  • only check for missing sources when an image was uploaded or once every 24 hours


  • prevent infinite loop for posts with automatic image source lists where images are not index yet
  • moved German translation to


  • delayed displaying source overlay by 100 ms to give images a chance to load their height
  • fixed wrong height of the overlay being used
  • fixed missing textdomain code to allow translations added through



Please reach out in case you are suddenly missing any image sources.

  • rewritten the way how images are detected in the content of the post or page
  • replaced use of image url with attachment ID where possible to lift some heavy loads
  • fix for image names including dimensions (e.g., 300×250)
  • works with version 2.4.0 of Gutenberg plugin
  • place overlay correctly even when page continues to shift after being loaded
  • load public JavaScript in footer by default
  • prevent saving ISC post meta information on non-public post types

  • fixed align value not being understood correctly

  • fixed missing index issue
  • call parent class in admin class constructor


  • cleanup
  • removed log spam introduced with 1.8.10
  • prevent SQL injection through crafted img src attributes

  • hotfix for php below 5.3


  • don’t list images attached to non-public posts in the full image list, when only visible images should be displayed, thanks to heiglandreas
  • added fallback to read images from galleries
  • added isc_get_image_by_url_query filter
  • fixed image list being empty due to autosave
  • read src from attribute according to dom documentation, thanks to heiglandreas
  • tested with WordPress 4.4 beta 4


  • rather use than error-log query


  • search for image urls regardless of their used protocol (http or https)

1.8.6 | 1.8.7

  • removed duplicate post links on full source list


  • fixed deprecated sanitize_url()


  • [feature] added option to display all images in the full list, not just those visible in posts
  • [fixed] default author text not showing up


  • [fixed] saving pre text for source overlay, thanks to maler.whick


  • [feature] show image sources for changed images
  • [feature] show image sources for images with query parameters


  • [fixed] set default value for new option to prevent error message


  • [feature] display image sources on archive pages (see settings)
  • [feature] use isc_thumbnail_source() to display thumbnail source in templates
  • [feature] added image sources for galleries and other shortcodes
  • updated German translation


  • [fixed] bug on ajax calls preventing the source fields to show up on ajax called pages in the dashboard
  • [fixed] bug on multisite update
  • [optimized] don’t hide setting boxes
  • [optimized] finished moving all publically needed function to its own class


  • [fixed] error message shown when list type settings was empty or unsaved
  • [fixed] source overlay showing if no image source was set for it
  • [optimized] trim source input


  • [fixed] source list function referring to the wrong plugin class


  • [optimized] manage different source display types on top of settings page
  • [optimized] renamed settings page to “Image Sources”
  • [removed] hiding source list elements in the frontend is no longer possible
  • [fixed] show source list not only below posts, but every other post type
  • [fixed] removed screenshots from main plugin files