In Chrome’s inspector, with JavaScript disabled, I see the mailto links as though they’re not encoded. However, looking at the raw page output (ctrl-u) in Chrome shows that the links are indeed encoded. Chrome’s inspector must decode the HTML codes automatically.
Use ctrl-u to see the actual raw html output to verify that this plugin is working, not the browser’s HTML inspector.
Here’s my humble suggested fix in the Participants_Db class:
/**
* prints a single record called by [pdb_single] shortcode
*
* @param array $params the parameters passed in by the shortcode
* @return string the output HTML
*/
public static function print_single_record( $params )
{
// alias the 'id' attribute for backwards compatibility
if ( isset( $params['id'] ) & !isset( $params['record_id'] ) ) {
$params['record_id'] = $params['id'];
unset( $params['id'] );
}
// PDb_Single::__construct is where 'term' is handled
if ( isset( $params['record_id'] ) && !isset($params['term'])) {
$params['record_id'] = self::get_record_id_by_term( 'id', $params['record_id'] );
}
return PDb_Single::print_record( $params );
}