社会化分享功能几乎国外主题,说白点就是模板中都会加入社会化功能。但是我朝内用户使用国外模板时候,社会化分享几乎成了摆设,原因你懂的。所以,一般都会把分享功能改成适合我朝国情的社会化分享。
下面是各网站的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)百度的也是可以有的!
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