社会化分享功能几乎国外主题,说白点就是模板中都会加入社会化功能。但是我朝内用户使用国外模板时候,社会化分享几乎成了摆设,原因你懂的。所以,一般都会把分享功能改成适合我朝国情的社会化分享。

下面是各网站的 API 接口及 URL:

新浪微博开放平台:http://open.weibo.com/

腾讯微博开放平台:http://open.t.qq.com/index.php

QQ(腾讯社区) 开放平台: http://opensns.qq.com/

人人网:http://dev.renren.com/

开心网:http://www.kaixin001.com/platform/

 豆瓣:http://www.douban.com/service/

MSN:http://www.windowslive.cn/mc/、  所有功能需要自己开发应用     http://msdn.microsoft.com/en-us/windowslive/default.aspx

MSN 连接成功案例展示:http://connectdemos.com/

下面以 WordPress The7 主题为例。其实最方面的还是直接通过 JiaThis API 接口分享 (http://www.jiathis.com/help/html/share-with-jiathis-api) 百度的也是可以有的!

JiaThis API 接口 使用如下 (http://www.jiathis.com/help/html/share-with-jiathis-api):

http://www.jiathis.com/send/?webid=shareID&url=$siteUrl&title=$siteTitle&uid=$uid

shareID 分享 ID 参数代表你要分享到哪个站点的 ID 编号, 可以通过这个文档查询:分享网站 ID 清单
$siteUrl 参数代表你要分享的网站链接地址,可以通过动态程序调用
$siteTitle 参数代表你要分享的网站页面标题,可以通过动态程序调用,也可自定义。
$uid(非必须) 代表你注册 JiaThis 的会员 UID,可以登录网站后查到您的 UID,用于数据统计。

举例 1:分享到开心网代码

举例 2:分享到人人网代码

举例 3:分享到新浪微博代码

举例 4:分享到 QQ 空间代码

这样的格式比起直接调用各个网站的接口来,使用更方便,代码维护更简单。
总的来说,http://www.jiathis.com/send/?webid=shareID&url=$siteUrl&title=$siteTitle&uid=$uid  这段分享 API 接口中和昨天那篇多说分享的差
不多的,无非就传递几个参数问题。

在 The7 v4.4.5 中 functions.php 中分享的 social icons 在函数 presscore_get_social_icons_data() 中,直接 return 回去。

function presscore_get_social_icons_data() { return array( 'facebook'		=> __('Facebook', LANGUAGE_ZONE), 'twitter'		=> __('Twitter', LANGUAGE_ZONE), 'google'		=> __('Google+', LANGUAGE_ZONE), 'dribbble'		=> __('Dribbble', LANGUAGE_ZONE), 'you-tube'		=> __('YouTube', LANGUAGE_ZONE), 'rss' => __('Rss', LANGUAGE_ZONE), 'delicious'		=> __('Delicious', LANGUAGE_ZONE), 'flickr'		=> __('Flickr', LANGUAGE_ZONE), 'forrst'		=> __('Forrst', LANGUAGE_ZONE), 'lastfm'		=> __('Lastfm', LANGUAGE_ZONE), 'linkedin'		=> __('Linkedin', LANGUAGE_ZONE), 'vimeo' => __('Vimeo', LANGUAGE_ZONE), 'tumbler'		=> __('Tumblr', LANGUAGE_ZONE), 'pinterest'		=> __('Pinterest', LANGUAGE_ZONE), 'devian'		=> __('Deviantart', LANGUAGE_ZONE), 'skype' => __('Skype', LANGUAGE_ZONE), 'github'		=> __('Github', LANGUAGE_ZONE), 'instagram'		=> __('Instagram', LANGUAGE_ZONE), 'stumbleupon'	=> __('Stumbleupon', LANGUAGE_ZONE), 'behance'		=> __('Behance', LANGUAGE_ZONE), 'mail' => __('Mail', LANGUAGE_ZONE), 'website'		=> __('Website', LANGUAGE_ZONE), 'px-500'		=> __('500px', LANGUAGE_ZONE), 'tripedvisor'	=> __('TripAdvisor', LANGUAGE_ZONE), 'vk' => __('VK', LANGUAGE_ZONE), 'foursquare'	=> __('Foursquare', LANGUAGE_ZONE), 'xing' => __('XING', LANGUAGE_ZONE), 'weibo' => __('Weibo', LANGUAGE_ZONE), );
	}

找到这个函数,把国外不和谐的改成我朝内的即可

%name WordPress 国外主题社会化分享功能改成我朝内的社会化分享

分享网站的清单,自己去找!需要什么就替换什么!

第二步:找到 helpers.php

foreach ( $buttons as $button ) { $classes = array( 'share-button' ); $url = ''; $desc = $buttons_list[ $button ]; $share_title = _x('share', 'share buttons', LANGUAGE_ZONE); $custom = ''; switch( $button ) { case 'twitter': $classes[] = 'twitter'; $share_title = _x('tweet', 'share buttons', LANGUAGE_ZONE); $url = add_query_arg( array('status' => urlencode($t . ' ' . $u) ), $protocol . '://twitter.com/home' ); break; case 'facebook': $url_args = array( 's=100', urlencode('p[url]') . '=' . esc_url($u), urlencode('p[title]') . '=' . urlencode($t) ); if ( has_post_thumbnail( $options['id'] ) ) { $thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $options['id'] ), 'full' ); if ( $thumbnail ) { $url_args[] = urlencode('p[images][0]') . '=' . esc_url($thumbnail[0]); } } // mobile args $url_args[] = 't=' . urlencode($t); $url_args[] = 'u=' . esc_url($u); $classes[] = 'facebook'; $url = $protocol . '://www.facebook.com/sharer.php?' . implode( '&', $url_args ); break; case 'google+': $t = str_replace(' ', '+', $t); $classes[] = 'google'; $url = add_query_arg( array('url' => $u, 'title' => $t), $protocol . '://plus.google.com/share' ); break; case 'pinterest': $url = '//pinterest.com/pin/create/button/'; $custom = ' data-pin-config="above" data-pin-do="buttonBookmark"'; // if image if ( wp_attachment_is_image($options['id']) ) { $image = wp_get_attachment_image_src($options['id'], 'full'); if ( !empty($image) ) { $url = add_query_arg( array( 'url' => $u, 'media' => $image[0], 'description'	=> $t ), $url ); $custom = ''; } } $classes[] = 'pinterest'; $share_title = _x('pin it', 'share buttons', LANGUAGE_ZONE); break; } $desc = esc_attr($desc); $share_title = esc_attr($share_title); $classes_str = esc_attr( implode(' ', $classes) ); $url = esc_url( $url ); $share_button = sprintf( '<a href="%2$s"  target="_blank" title="%3$s"%5$s><span >%3$s</span><span >%4$s</span></a>', $classes_str, $url, $desc, $share_title, $custom ); $html .= apply_filters( 'presscore_share_button', $share_button, $button, $classes, $url, $desc, $share_title, $t, $u ); } $html .= '</div> </div>'; $html = apply_filters( 'presscore_display_share_buttons', $html ); if ( $options['echo'] ) { echo $html; } return $html;
	} endif; // presscore_display_share_buttons

别看一大段,其实都是尼玛的 case 语句

case 'twitter': $classes[] = 'twitter';
$share_title = _x('tweet', 'share buttons', LANGUAGE_ZONE);
$url = add_query_arg( array('status' => urlencode($t . ' ' . $u) ), $protocol . '://twitter.com/home' );
break;

替换成我朝的渣浪

case 'tsina': $t = str_replace(' ', '+', $t);  //去除空格
$classes[] = 'tsina';
$share_title = _x('新浪微博', 'share buttons', LANGUAGE_ZONE);
$url = add_query_arg( array('url' => $u, 'title' => $t), $protocol . '://www.jiathis.com/send/?webid=tsina&' );
break;

其它的以此类推。

搞完就完事了。直接使用,不用加载一堆 js

kejianet