Dynamically adds multiple featured image (post thumbnail) functionality to posts, pages and custom post types.

v3.6.5 2018-02-04 05:49 UTC


Latest Stable Version WordPress WordPress Rating twitter License

Dynamic Featured Image (A WordPress Plugin)

Download Build Code Climate Code Coverage Scrutinizer Code Quality

Dynamically adds multiple featured image (post thumbnail) functionality to posts, pages and custom post types.


Why limit yourself to only one featured image if you can do some awesome stuffs with multiple featured image? Dynamic Featured Image enables the option to have MULTIPLE featured images within a post or page. It allows you to add different number of featured images to each post and page that can be collected by the various theme functions. This is especially helpful when you use other plugins, post thumbnails or sliders that use featured images.


  1. Unzip and upload the dynamic-featured-images directory to the plugin directory (/wp-content/plugins/) or install it from Plugins->Add New->Upload
  2. Activate the plugin through the Plugins menu in WordPress.
  3. If you don't see new featured image box, click Screen Options in the upper right corner of your wordpress admin and make sure that the Featured Image 2 box is slected.


bower install dynamic-featured-image

How it works?

  1. After successfull plugin activation go to add or edit page of posts or pages and you will notice a box for second featured image.

New featured image box

  1. Click Set featured image icon, select required image from the "Dynamic Featured Image Media Selector" popup and click Set Featured Image.

Dynamic Featured Image Media Selector

  1. Click on Add New to add new featured image or use Remove link to remove the featured image box.

Featured Images
Featured Images

  1. After adding featured images click publish or update to save featured images.
Note: The featured images are only saved when you publish or update the post.


Other Resources

List of Available Functions

  1. get_image_id( $image_url )
  2. get_image_thumb( $image_url, $size = "thumbnail" )
  3. get_image_url( $attachment_id, $size = "full" )
  4. get_post_attachment_ids( $post_id )
  5. is_attached( $attachment_id, $post_id )
  6. get_image_title( $image_url )
  7. get_image_title_by_id( $attachment_id )
  8. get_image_alt( $image_url )
  9. get_image_alt_by_id( $attachment_id )
  10. get_image_caption( $image_url )
  11. get_image_caption_by_id( $attachment_id )
  12. get_image_description( $image_url )
  13. get_image_description_by_id( $attachment_id )
  14. get_nth_featured_image( $position, $post_id )
  15. get_all_featured_images( $post_id )
  16. get_link_to_image( $attachment_id )

Allowing DFI only in specific post types

You can use dfi_post_types filter to allow DFI only in a specific post types.

function allowed_post_types() {
    return array('post'); //show DFI only in post
add_filter('dfi_post_types', 'allowed_post_types');

Blocking DFI

Use dfi_post_type_user_filter filter to block DFI from post types.

function blocked_post_types() {
    return array('page'); //block DFI in page
add_filter('dfi_post_type_user_filter', 'blocked_post_types');

Changing the metabox default text

Use dfi_set_metabox_title filter to change the metabox default title (Featured Image)

function set_metabox_title( $title ) {
    return "My custom metabox title";
add_filter('dfi_set_metabox_title', 'set_metabox_title');

Translation Guidelines

All translations live in the languages folder.

If you are interested in translating the plugin in your language, first make sure if the translation is not already available. The name of the file is important because there’s a particular format you should follow for consistency. For example, if you’re translating Nepali for Nepal, the file should be dynamic-featured-image-ne_NP.podynamic-featured-image for the plugin itself, ne for the language and NP for the country.


  1. Install PHPUnit and composer if you haven't already.
  2. Install required dependencies
    $ composer install
  3. Build test using installation script
    $ ./bin/ <test-db-name> <db-user> <db-pass> [db-host] [wp-version] [skip-database-creation]
  4. Run tests with phpunit
    $ ./vendor/bin/phpunit
  5. Validate changes against WordPress Coding Standards
    $ phpcs <dfi-plugin-dir or filename>

Dynamic Featured Image PRO

A premium version of this plugin is also available. Users looking for more timely/in-depth support and extended features are encouraged to check out Dynamic Featured Image PRO.

Author available for hire

I'm available for freelance work. Remote worldwide or locally around Nepal. Drop me a line @ankitpokhrel if you like.

Questions about this project?

Please feel free to report any bug found. Pull requests, issues, and plugin recommendations are more than welcome!