3. Looking further into where.php I noticed that it is also the source of an issue I’ve been thinking of finding the cause of:
50 <?php if ( get_option ( 'dbem_gmap_is_active' ) ) : ?>
51 <div style="width: 400px; height: 300px; float:left;">
52 <div id='em-map-404' style='width: 400px; height:300px; vertical-align:middle; text-align: center;'>
53 <p><em><?php _e ( 'Location not found', 'dbem' ); ?></em></p>
54 </div>
55 <div id='em-map' style='width: 400px; height: 300px; display: none;'></div>
56 </div>
57 <?php endif; ?>
3.1. “Location not found” is not something we want to display to users upon loading a page. It should be displayed only by JS when appropriate. At the moment this can be disabled with only a custom template, or by some tricky CSS or JS, as this p element doesn’t have an id or class.
3.2. The whole section of code should be in a separate template or GUI setting. Location.php has a similar section; maybe others do too. They should all invoke the same code; change once, apply everywhere.
3.3. That code shouldn’t use direct style rules. To override these you need to use !important even for a general rule, and then to make exceptions to that rule it gets slimy.
3.4. Both classes and ids should be more used here. All the divs should have the same class, so you can change their attributes (eg. size) in one directive, but different ids, so you can set their floats etc. separately.
4. Every p element should also have an id and/or class. For example line 5 on where.php isn’t conveniently CSS-adjustable:
<p><?php _e("If you're using the Google Maps, the more detail you provide, the more accurate Google can be at finding your location. If your address isn't being found, please <a='https://maps.google.com'>try it on maps.google.com</a> by adding all the fields below seperated by commas.",'dbem')?></p>
These should all be good steps forward in code maintainability for both siteadmins and the EM dev team.