社会化分享功能几乎国外主题,说白点就是模板中都会加入社会化功能。但是我朝内用户使用国外模板时候,社会化分享几乎成了摆设,原因你懂的。所以,一般都会把分享功能改成适合我朝国情的社会化分享。
下面是各网站的API接口及URL:
新浪微博开放平台:http://open.weibo.com/
腾讯微博开放平台:http://open.t.qq.com/index.php
QQ(腾讯社区)开放平台: http://opensns.qq.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)百度的也是可以有的!
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),
);
}
找到这个函数,把国外不和谐的改成我朝内的即可
分享网站的清单,自己去找!需要什么就替换什么!
第二步:找到 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" class="%1$s" target="_blank" title="%3$s"%5$s><span class="assistive-text">%3$s</span><span class="share-content">%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 客家网络