Here’s the problem, if a WordPress admin is using either the jQuery or Basic embed methods, all the rendering is done on the client/visitor browser. While jQuery could manipulate the HTML to force opening links in a new window, the Basic method could not (because that code is literally controlled by Bible Gateway’s service).
In the end, this creates an inconsistent user experience for the WordPress admin. One embed method (Cache) would support forcing new tabs/windows, one (jQuery) might, and one (Basic) definitely would not. I’m pretty sure it would create more support inquiries for me and I don’t want that. ??
You could resolve this by using something like jQuery to intercept all links within the appropriate class (all embed methods wrap the HTML in a class for this type of thing). This would work with all methods but requires JavaScript (shouldn’t be a problem for most users).
Alternatively, the plugin is filterable. If you’re using the Cache embed method you can just add some code to your theme’s functions.php
file and it would add it on the server-side. Something like:
add_filter( 'dz_biblegateway_json_parsed', function ( $parsed, $json, $filtered ) {
$parsed['verse'] = str_replace( '<a href=', '<a target="_blank" href=', $parsed['verse'] );
return $parsed;
}, 10, 3 );
This won’t take effect until the cache is updated (it can be forced to refresh in settings or will update itself in a day). Note the sample code is very basic. It does the job but be aware that future plugin updates might break this… Though you should generally be okay.