Jennifer2010 Posted August 28, 2013 Share Posted August 28, 2013 Hi everyone! I'm using a small PHP plugin for WordPress for social sharing. The problem is, the links open up in a new tab instead of a new, small pop-up window. Here's the Facebook code example for the pop-out I'm desiring: <a href="#" onclick=" window.open( 'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href), 'facebook-share-dialog', 'width=626,height=436'); return false;"> Share On Facebook </a> And here is the plugin code: <?php /* Plugin Name: Boon's Simple Social Sharing Plugin URI: https://github.com/mattberridge/Simple-Social-Sharing-Buttons Description: Super lightweight social sharing buttons (without counters) Author: built by Boon Author URI: http://builtbyboon.com */ function simple_social_sharing( $attr_twitter = null, $attr_items = null ) { // parse variables $twitter_account = $attr_twitter; $item_toggles = $attr_items; // get post content and urlencode it global $post; $browser_title_encoded = urlencode( trim( wp_title( '', false, 'right' ) ) ); $page_title_encoded = urlencode( get_the_title() ); $page_url_encoded = urlencode( get_permalink($post->ID) ); // create share items array $share_items = array (); // set each item $item_facebook = array( "class" => "facebook", "href" => "http://www.facebook.com/sharer.php?u={$page_url_encoded}&t={$browser_title_encoded}", "text" => "Share On Facebook" ); $item_twitter = array( "class" => "twitter", "href" => "http://twitter.com/share?text={$page_title_encoded}&url={$page_url_encoded}&via={$twitter_account}", "text" => "Twitter" ); $item_google = array( "class" => "google", "href" => "http://plus.google.com/share?url={$page_url_encoded}", "text" => "G+" ); // test whether to display each item if($item_toggles) { // explode into array $item_toggles_array = explode( ",", $item_toggles ); // set each item on or off $show_facebook = $item_toggles_array['0']; $show_twitter = $item_toggles_array['1']; $show_google = $item_toggles_array['2']; } else { $display_all_items = 1; } // form array of items set to 1 if( $show_facebook==1 || $display_all_items ) { array_push( $share_items, $item_facebook ); } if( $show_twitter==1 || $display_all_items) { array_push( $share_items, $item_twitter ); } if( $show_google==1 || $display_all_items) { array_push( $share_items, $item_google ); } // if one or more items if ( ! empty( $share_items ) ) { // create output $share_output = "<ul class=\"ss-share\">\n"; foreach ( $share_items as $share_item ) { $share_output .= "<li class=\"ss-share-item\">\n"; $share_output .= "<a class=\"ss-share-link ico-{$share_item['class']}\" href=\"{$share_item["href"]}\" rel=\"nofollow\" target=\"_blank\">{$share_item['text']}</a>\n"; $share_output .= "</li>\n"; } $share_output .= "</ul>"; // echo output echo $share_output; } } // add shortcode to output buttons function simple_social_sharing_shortcode( $atts, $content = null ) { // parse variables / set defaults extract( shortcode_atts( array( 'twitter' => '', 'display' => '1,1,1', ), $atts ) ); // output buttons ob_start(); simple_social_sharing( $twitter, $display ); $output_string = ob_get_contents(); ob_end_clean(); return force_balance_tags( $output_string ); } add_shortcode( 'simple-social-sharing', 'simple_social_sharing_shortcode' ); ?> Any help is greatly appreciated -- I've been trying for a week to figure this out! Thank you! Quote Link to comment Share on other sites More sharing options...
Irate Posted August 28, 2013 Share Posted August 28, 2013 (edited) Try using JavaScript for that jQuery (a JavaScript framework) has some excellent modal dialog box support. Edit: to the moderators, I excuse for the double post :/ My mobile made itself self-concious and posted twice (no, I had to reset my connection and my mobile resent the data) Edited August 28, 2013 by Irate Quote Link to comment Share on other sites More sharing options...
Irate Posted August 28, 2013 Share Posted August 28, 2013 Try using JavaScript for that jQuery (a JavaScript framework) has some excellent modal dialog box support. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.