WhatsApp in social share shortcode

Hi!

I was trying to add WhatsApp to the social share shortcode following this thread. The post of @ruenel is reading

March 2021 Update: The above code example has been adjusted to account for a change to a function name.

so I was hoping it’s still working 'cause that’s not that long ago, Sadly WhatsApp isn’t appearing although I’ve of course also set whatsapp=“true” in the shortcode after adding the other stuff to functions.php.

I know this may is custom development but because of the edit of the 2019 post in 2021 (great!!!) I do hope we can edit it again to apply to 2022. I do think many people will stumble over the thread. Thanks a lot!

Hi Alex,

Thanks for reaching out.
It is not very clear what you are trying to acheive. The WhatsApp icon is available in the brand list of the icons and you can add it to the button element along with the link to send the WhatsApp message.

Screenshot-2022-06-22-174124

Hope it helps.
Thanks

I am talking about adding WhatsApp share to the Themeco social share shortcode
[share title=“Share” facebook=“true” twitter=“true” google_plus=“true” linkedin=“true” email=“true” whatsapp=“true”]

Please see linked thread

Hey Alex,

Please update your code in your functions.php like on this thread.

Hope that helps.

For everyone looking. A combination of two of the old codes worked. None of the unaltered worked.
Here’s what’s working:

function custom_shortcode_share( $atts ) {
  extract( shortcode_atts( array(
'id'          => '',
'class'       => '',
'style'       => '',
'title'       => '',
'share_title' => '',
'facebook'    => '',
'twitter'     => '',
'google_plus' => '',
'linkedin'    => '',
'pinterest'   => '',
'reddit'      => '',
'whatsapp'    => '',
'email'       => '',
'email_subject' => ''
  ), $atts, 'x_share' ) );

  $share_url        = urlencode( get_permalink() );

  if ( is_singular() ) {
$share_url = urlencode( get_permalink() );
  } else {
global $wp;
$share_url = urlencode( home_url( ($wp->request) ? $wp->request : '' ) );
  }

  if ( is_singular() ) {
$share_title = ( $share_title    != '' ) ? esc_attr( $share_title ) : urlencode( get_the_title() );
  } else {
$share_title = ( $share_title    != '' ) ? esc_attr( $share_title ) : urlencode( apply_filters( 'the_title', get_page( get_option( 'page_for_posts' ) )->post_title) );
  }

  $share_source     = urlencode( get_bloginfo( 'name' ) );
  $share_image_info = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
  $share_image      = ( function_exists( 'x_get_featured_image_with_fallback_url' ) ) ? urlencode( x_get_featured_image_with_fallback_url() ) : urlencode( $share_image_info[0] );

 if ( $linkedin    == 'true' ) {
$share_content    = urlencode( cs_get_excerpt_for_social() );
  }

  $tooltip_attr = cs_generate_data_attributes_extra( 'tooltip', 'hover', 'bottom' );

  $id          = ( $id          != ''     ) ? 'id="' . esc_attr( $id ) . '"' : '';
  $class       = ( $class       != ''     ) ? 'x-entry-share ' . esc_attr( $class ) : 'x-entry-share';
  $style       = ( $style       != ''     ) ? 'style="' . $style . '"' : '';
  $title       = ( $title       != ''     ) ? $title : csi18n('shortcodes.share-title');
  $facebook    = ( $facebook    == 'true' ) ? "<a href=\"#share\" {$tooltip_attr} class=\"x-share\" title=\"" . csi18n('shortcodes.share-facebook') . "\" onclick=\"window.open('http://www.facebook.com/sharer.php?u={$share_url}&amp;t={$share_title}', 'popupFacebook', 'width=650, height=270, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-facebook-square\" " . fa_data_icon('facebook-square') . "></i></a>" : '';
  $twitter     = ( $twitter     == 'true' ) ? "<a href=\"#share\" {$tooltip_attr} class=\"x-share\" title=\"" . csi18n('shortcodes.share-twitter') . "\" onclick=\"window.open('https://twitter.com/intent/tweet?text={$share_title}&amp;url={$share_url}', 'popupTwitter', 'width=500, height=370, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-twitter-square\" " . fa_data_icon('twitter-square') . "></i></a>" : '';
  $google_plus = ( $google_plus == 'true' ) ? "<a href=\"#share\" {$tooltip_attr} class=\"x-share\" title=\"" . csi18n('shortcodes.share-google-plus') . "\" onclick=\"window.open('https://plus.google.com/share?url={$share_url}', 'popupGooglePlus', 'width=650, height=226, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-google-plus-square\" " . fa_data_icon('google-plus-square') . "></i></a>" : '';
  $linkedin    = ( $linkedin    == 'true' ) ? "<a href=\"#share\" {$tooltip_attr} class=\"x-share\" title=\"" . csi18n('shortcodes.share-linkedin') . "\" onclick=\"window.open('http://www.linkedin.com/shareArticle?mini=true&amp;url={$share_url}&amp;title={$share_title}&amp;summary={$share_content}&amp;source={$share_source}', 'popupLinkedIn', 'width=610, height=480, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-linkedin-square\" " . fa_data_icon('linkedin-square') . "></i></a>" : '';
  $pinterest   = ( $pinterest   == 'true' ) ? "<a href=\"#share\" {$tooltip_attr} class=\"x-share\" title=\"" . csi18n('shortcodes.share-pinterest') . "\" onclick=\"window.open('http://pinterest.com/pin/create/button/?url={$share_url}&amp;media={$share_image}&amp;description={$share_title}', 'popupPinterest', 'width=750, height=265, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-pinterest-square\" " . fa_data_icon('pinterest-square') . "></i></a>" : '';
  $reddit      = ( $reddit      == 'true' ) ? "<a href=\"#share\" {$tooltip_attr} class=\"x-share\" title=\"" . csi18n('shortcodes.share-reddit') . "\" onclick=\"window.open('http://www.reddit.com/submit?url={$share_url}', 'popupReddit', 'width=875, height=450, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-reddit-square\" " . fa_data_icon('reddit-square') . "></i></a>" : '';

  $whatsapp    = ( $whatsapp  == 'true' ) ? "<a data-action=\"share/whatsapp/share\" href=\"whatsapp://send?text=". get_the_title() ."\" {$tooltip_attr} class=\"x-share\" title=\"" . __( 'Share via Whatsapp', 'cornerstone' ) . "\" ><i class=\"x-icon-whatsapp-square\" " . fa_data_icon('whatsapp-square') . "></i></a>" : '';


  if ( $email       == 'true' ) {

$email_subject = esc_attr( ( $email_subject != '' ) ? cs_decode_shortcode_attribute( $email_subject ) : csi18n('shortcodes.share-email-subject') );
$mail_to_subject = esc_attr( $share_title );
$mail_to_url = esc_url( get_permalink() );

$mail_to = "mailto:?subject=$mail_to_subject&amp;body=$email_subject $mail_to_url";

$email = "<a href=\"{$mail_to}\" {$tooltip_attr} class=\"x-share email\" title=\"" . csi18n('shortcodes.share-email') . "\"><span><i class=\"x-icon-envelope-square\" " . fa_data_icon('envelope-square') . "></i></span></a>";

  } else {
$email = '';
  }



  $output = "<div {$id} class=\"{$class}\" {$style}>"
        . '<p>' . $title . '</p>'
        . '<div class="x-share-options">'
          . $facebook . $twitter . $google_plus . $linkedin . $pinterest . $reddit . $whatsapp . $email
        . '</div>'
      . '</div>';

  return $output;
}

function update_x_share_shortcode() {
  remove_shortcode( 'x_share' );
  add_shortcode( 'x_share', 'custom_shortcode_share' );
  remove_shortcode( 'share' );
  add_shortcode( 'share', 'custom_shortcode_share' );
}
add_action('wp_head', 'update_x_share_shortcode', 999);

Hi Alex,

Glad that it worked for you, and thanks for sharing with others.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.