I had an issue with captions missing on some of my photos. They would show up fine in the admin editor's "Visual" view, as well as with the database appropriate [caption] code in the database. They were just not showing up on the front end, and editing the captions gave me mixed results (i.e., it wasn't a special character problem).
I finally figured out it was tied to the Explanatory Dictionary plugin. If you have this plugin installed and are having the same problem:
- In the preferences for the plugin, change your preference to only include the pop-up for one instance per keyword per page.
- Then, in any miscellaneous cases where the first instance of that keyword is in a caption, add the keyword earlier in the article, to a paragraph somewhere.
Ultimately, I've flagged the problem with the developer. The above is only a temporary work-around if you are missing captions.
The problem ends in WordPress' media.php, line 634, in function img_caption_shortcode(). empty($caption) is returning true, so in one of the previous functions, the attribute is not being properly set.