Here’s what you can do:
-for whatsapp, create a Text custom field, and name the HTML variable to whatsapp , this will be filled when adding a listing.
-open the functions.php inside your child theme and add this
add_action('geodir_after_social_sharing_buttons' , 'pinterest_whatsapp', 10);
function pinterest_whatsapp(){
global $post, $wp_query, $preview, $geodirectory;
$postid = $wp_query->post->ID;
?>
<a style="margin-right: 10px;" href="//www.pinterest.com/pin/create/button/" data-pin-do="buttonBookmark" data-pin-color="red"><img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_red_20.png" /></a>
<!-- Please call pinit.js only once per page -->
<script type="text/javascript" async defer src="//assets.pinterest.com/js/pinit.js"></script> <?php echo "<img src="http://YOURDOMAIN/whatsapp.png" height="25" width="25" >".geodir_get_post_meta($postid,'geodir_whatsapp',true); }
this will output the pinterest button and whatsapp in a row below the social sharing buttons (twitter+facebook+G+)
Upload an icon inside your website and post the complete url of the image where it says “http://YOURDOMAIN/whatsapp.png”
you can see it working live on my test website here http://test.simonetambasco.com/geodirectory/new/united-kingdom/greater-london/london/attractions/test-whatsapp/