mybutyAvatar border
TS
mybuty
Cara Membuat Social Sharing Grafik Batangan Untuk WordPress
Ketika kita mulai merancang atau melakukan sedikit perubahan pada situs WordPress kita, mungkin pernah terpikir untuk membuat sesuatu yang unik. Contohnya adalah membuat Social Sharing. Kebanyakan social sharing hanya berbentuk biasa dan terkesan monoton. Jika di artikel sebelumnya kami telah memberikan 10 Tips Pro untuk Situs e-Commerce yang Ramah dan Menarik. Di artikel berikut ini kami akan membagikan cara membuat Social Sharing dengan tampilan yang unik yaitu Cara Membuat Social Sharing Grafik Batangan Untuk WordPress

Sebelum kita melanjutkan, mungkin Anda bertanya-tanya, "Bagaimana sih tampilan Social Sharing berbentuk batangan?". Jika Anda penasaran maka akan kami tunjukkan contoh tampilan dari Social Sharing berbentuk batangan.



Begitulah tampilan dari Social Sharing berbentuk batangan. Lalu apakah Anda tertarik untuk membuatnya untuk di stius WordpressAnda? Berikut akan kami bagikan bagaimana cara membuat Social Sharing berbentuk batangan.

The Markup

Jika Anda ingin menambahkan grafik batangan yang ingin Anda buat tepat di bawah judul, dalam file single.php di tema WordPress Anda, tambahkan kode ini di suatu tempat di bawah the_title() atau ke tempat dimana Anda ingin menampilkan grafik batangan ini.

Code:
<div class="socialShare clearfix">
<div class="sharedCount">
<span class="count"></span>
<span class="shares">shares</span>
</div>
<ul class="icons clearfix">
<li class="icon twitter social"><a href="https://twitter.com/share" data-url="<?php echo get_permalink(); ?>" data-text="<?php echo get_the_title(); ?> <?php echo get_permalink(); ?> via @JaringanHosting"></a></li>
<li class="icon google social"><a href="https://plus.google.com/share" data-url="<?php echo get_permalink(); ?>"></a></li>
<li class="icon facebook social"><a href="https://www.facebook.com/sharer/sharer.php" data-url="<?php echo get_permalink(); ?>" data-text="<?php echo get_the_title(); ?> <?php echo get_permalink(); ?> via @JaringanHosting" target="_blank"></a></li>
<li class="icon linkedin social"><a href="http://www.linkedin.com/shareArticle" data-url="<?php echo get_permalink(); ?>" data-text="<?php echo get_the_title(); ?>"></a></li>
</ul>
[removed]parseSharedCount("<?php echo get_permalink(); ?>");[removed]
</div>


Pada baris ke 12, kami melewatkan post URL ke fungsi parseSharedCount yang akan kita buat pada langkah selanjutnya.

Mendapatkan Jumlah Shares

Pertama, yang kita perlukan adalah mendapatkan jumlah shares, karena data ini penting juga untuk kita. Cara termudah adalah dengan menggunakan layanan yang melakukannya untuk Anda. Setelah melakukan pencarian cepat di Google, saya menemukan SharedCount, sebuah situs kecil yang rapi yang tidak hanya menyediakan apa yang saya butuhkan, dan terbaik dari semua, mereka memiliki API yang mudah untuk digunakan. Tetapi untuk menggunakan API, Anda harus mendapatkan API key.

Setelah Anda mendaftar dan menerima key Anda, buatlah file baru dengan nama "sharedcount.js". Kita akan menempatkan semua jQuery dalam file ini. Mulailah dengan menyisipkan kode ini:

Code:
(function($){
sharedCount = function(url, fn) {
url = encodeURIComponent(url || location.href);
var domain = "//free.sharedcount.com/"; /* SET DOMAIN */
var apikey = "" /*API KEY HERE*/
var arg = {
data: {
url : url,
apikey : apikey
},
url: domain,
cache: true,
dataType: "json"
};
if ('withCredentials' in new XMLHttpRequest) {
arg.success = fn;
}
else {
var cb = "sc_" + url.replace(/\W/g, '');
window[cb] = fn;
arg.jsonpCallback = cb;
arg.dataType += "p";
}
return $.ajax(arg);
};


Pada baris ke-5, tambahkan API key Anda di antara tanda kutip. Fungsi ini yang berguna untuk melakukan komunikasi dengan SharedCount.com API, dan mengembalikan semua data yang kita butuhkan.

Parse SharedCount Data

Sekarang kita akan membuat fungsi untuk mengambil data SharedCount. Jadi mari kita buat sebuah fungsi yang akan menampilkan shares individu untuk setiap situs sosial yang kita tarik, dan Total dari keseluruhan. Tambahkan kode ini ke file Anda:

Code:
parseSharedCount = function(url) {
sharedCount(url, function(data){
var twitterCount = data.Twitter;
var facebookCount = data.Facebook.total_count;
var googleCount = data.GooglePlusOne;
var linkedinCount = data.LinkedIn;
var totalCount = twitterCount+facebookCount+linkedinCount+linkedinCount;

var offset = 25;
var twitterHeight = Math.ceil(twitterCount/totalCount*100)+offset;
var facebookHeight = Math.ceil(facebookCount/totalCount*100)+offset;
var googleHeight = Math.ceil(googleCount/totalCount*100)+offset;
var linkedinHeight = Math.ceil(linkedinCount/totalCount*100+offset);

$(".socialShare .count").text(totalCount);
$(".socialShare .icon.twitter").css('height',twitterHeight+'%');
$(".socialShare .icon.facebook").css('height',facebookHeight+'%');
$(".socialShare .icon.google").css('height',googleHeight+'%');
$(".socialShare .icon.linkedin").css('height',linkedinHeight+'%');
$(".socialShare").addClass('loaded');
});
}
})(jQuery);


Pada baris ke 3-7, kami menampilkan hitungan individu untuk setiap situs sosial. Kemudian pada baris 9-13, persentase dihitung berdasarkan nilai-nilai. Nilai "offset" digunakan untuk memastikan setiap bar memiliki beberapa ketinggian sehingga ikon dapat ditampilkan bahkan jika situs tertentu tidak memiliki shares apapun. Akhirnya, pada baris 15-20, kita menetapkan total jumlah shares teks dan menggunakan nilai-nilai persentase untuk mengatur ketinggian pada setiap bar. Menambahkan kelas "loaded" ke div yang akan memulai animasi CSS.

Membuat Grafik Batangan Clickable

Di akhir kode kita akan menambah file sharedcount.js dan akan membuat bar menjadi tombol. Sehingga bila diklik setiap bar akan terbuka masing-masing dan menampilkan sosial sharing popup window.

Code:
jQuery(document).ready(function( $ ) {
$(".social.icon a").click(function(){
var url = $(this).attr('data-url');
var text = $(this).attr('data-text');
var href = $(this).attr('href');

if($(this).parent().hasClass('twitter')){
window.open(href+"?text="+text+"&url="+url, "", "height=400,width=600,toolbar=no,menubar=no,left=300,top=300");
}else if($(this).parent().hasClass('facebook')){
window.open(href+"?t="+text+"&u="+url, "", "height=400,width=600,toolbar=no,menubar=no,left=300,top=300");
}else if($(this).parent().hasClass('google')){
window.open(href+"?&url="+url, "", "height=400,width=600,toolbar=no,menubar=no,left=300,top=300");
}else if($(this).parent().hasClass('linkedin')){
window.open(href+"?mini=true&summary="+text+"&url="+url, "", "height=400,width=600,toolbar=no,menubar=no,left=300,top=300");
}
return false;
});
});


Berikut ini adalah segala sesuatu yang harus ada di dalam file sharedcount.js

Code:
(function($){
sharedCount = function(url, fn) {
url = encodeURIComponent(url || location.href);
var domain = "//free.sharedcount.com/"; /* SET DOMAIN */
var apikey = "" /*API KEY HERE*/
var arg = {
data: {
url : url,
apikey : apikey
},
url: domain,
cache: true,
dataType: "json"
};
if ('withCredentials' in new XMLHttpRequest) {
arg.success = fn;
}
else {
var cb = "sc_" + url.replace(/\W/g, '');
window[cb] = fn;
arg.jsonpCallback = cb;
arg.dataType += "p";
}
return $.ajax(arg);
};

parseSharedCount = function(url) {
sharedCount(url, function(data){
var twitterCount = data.Twitter;
var facebookCount = data.Facebook.total_count;
var googleCount = data.GooglePlusOne;
var linkedinCount = data.LinkedIn;
var totalCount = twitterCount+facebookCount+linkedinCount+linkedinCount;

var offset = 25;
var twitterHeight = Math.ceil(twitterCount/totalCount*100)+offset;
var facebookHeight = Math.ceil(facebookCount/totalCount*100)+offset;
var googleHeight = Math.ceil(googleCount/totalCount*100)+offset;
var linkedinHeight = Math.ceil(linkedinCount/totalCount*100+offset);

$(".socialShare .count").text(totalCount);
$(".socialShare .icon.twitter").css('height',twitterHeight+'%');
$(".socialShare .icon.facebook").css('height',facebookHeight+'%');
$(".socialShare .icon.google").css('height',googleHeight+'%');
$(".socialShare .icon.linkedin").css('height',linkedinHeight+'%');
$(".socialShare").addClass('loaded');
});
}
})(jQuery);

jQuery(document).ready(function( $ ) {
$(".social.icon a").click(function(){
var url = $(this).attr('data-url');
var text = $(this).attr('data-text');
var href = $(this).attr('href');

if($(this).parent().hasClass('twitter')){
window.open(href+"?text="+text+"&url="+url, "", "height=400,width=600,toolbar=no,menubar=no,left=300,top=300");
}else if($(this).parent().hasClass('facebook')){
window.open(href+"?t="+text+"&u="+url, "", "height=400,width=600,toolbar=no,menubar=no,left=300,top=300");
}else if($(this).parent().hasClass('google')){
window.open(href+"?&url="+url, "", "height=400,width=600,toolbar=no,menubar=no,left=300,top=300");
}else if($(this).parent().hasClass('linkedin')){
window.open(href+"?mini=true&summary="+text+"&url="+url, "", "height=400,width=600,toolbar=no,menubar=no,left=300,top=300");
}
return false;
});
});


Tempatkan file dalam folder js tema Anda. Tema Anda harus memiliki tempat di functions.php yang di mana semua script terdapat di tempat itu . Tambahkan baris kode di bawah ini di tempat yang sama untuk memastikan script sharedcount akan loaded.

Code:
wp_enqueue_script('sharedcount', get_bloginfo('template_url').'/js/sharedcount.js', array('jquery'), '0.1', false);


File CSS

Untuk penampilan grafik batang, dengan tampilan datar yang bersih, sehingga cocok dengan desain. Anda harus menambahkan CSS berikut ke file style.css di theme http://jaringanhosting.com/Indonesia...dPress-HostingAnda. Semua ini file CSS yang cukup mendasar, tetapi penting untuk dicatat pada baris 84 dan 88 kita mendefinisikan kelas .loaded untuk mengaktifkan animasi setelah data telah loaded.

Code:
.socialShare { 
color: #fff;
display: block;
margin-bottom: 20px;
padding: 0;
height: 73px;
position: relative;
border-bottom: 3px solid #d8d8d8;
width: 250px;
}

.socialShare .sharedCount{
position: relative;
font-size: .9em;
display: block;
box-shadow: none;
margin-top: 0;
top: 0;
left: 0;
float: left;
opacity: 0;
margin-left: 5px;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
transition: opacity 0.5s ease;
background: none;
color: #222222;
border: none;
}

.socialShare .sharedCount .count{
font-size: 1.9em;
display: block;
color: #25bb8b;
}

.socialShare .sharedCount .shares{
font-size: 1.1em;
display: block;
color: #b8b8b8;
}

.socialShare.loaded .sharedCount {
opacity: 1;
}

.socialShare .icons {
margin-bottom: 0;
positon: relative;
}

.socialShare .icon {
display: block;
font-size: 1.2em;
float: left;
margin: 0 0 0 0;
position: absolute;
bottom: 4px;
opacity: 0;
height: 0px;
width: 30px;
-webkit-transition: all 0.7s ease;
-moz-transition: all 0.7s ease;
-o-transition: all 0.7s ease;
transition: all 0.7s ease;
transition-delay: .7s;
-webkit-transition-delay: .7s; /* Safari */
}

.socialShare .icon a{
color: rgba(255,255,255,.7);
display: block;
width: 100%;
height: 100%;
background-size: 20px 20px;
-webkit-transition: all 0.7s ease;
-moz-transition: all 0.7s ease;
-o-transition: all 0.7s ease;
transition: all 0.7s ease;
transition-delay: .7s;
}

.socialShare.loaded .icon {
opacity: 1;
}

.socialShare.loaded .icon a{
-webkit-transition: all 0.7s ease;
-moz-transition: all 0.7s ease;
-o-transition: all 0.7s ease;
transition: all 0.7s ease;
}

.socialShare .icon a:hover{
background-color: #222;
}

.socialShare .icon.twitter{
background: #5ec2df url(images/icon_twitter.png) center 5px no-repeat;
left: 90px;
}
.socialShare .icon.twitter a{
background: #5ec2df url(images/icon_twitter.png) center 5px no-repeat;
}
.socialShare .icon.google{
left: 125px;
-webkit-transition-delay: .7s; /* Safari */
}
.socialShare .icon.google a{
background: #e03e12 url(images/icon_google.png) center center no-repeat;
}
.socialShare .icon.facebook {
left: 160px;
-webkit-transition-delay: .9s; /* Safari */
}
.socialShare .icon.facebook a{
background: #2c6087 url(images/icon_facebook.png) center center no-repeat;
}
.socialShare .icon.linkedin {
left: 195px;
-webkit-transition-delay: 1.2s; /* Safari */
}

.socialShare .icon.linkedin a{
background: #3686ab url(images/icon_linkedin.png) center center no-repeat;
}


Jika Anda menginginkan sebuah ikon yang unik yang pas untuk social sharing grafik batangan, Anda bisa men-downloadnya disini

Kami mendorong Anda untuk men-tweak itu dan mulai membuatnya sendiri. Seperti yang Anda perhatikan, kami hanya memasukkan empat situs sosial di artikel ini seperti, twitter, Google+, Facebook dan Linkedin. Tetapi SharedCount menyediakan data yang lebih banyak lagi. Jadi, Anda akan dapat menambahkan stius sosial lebih banyak lagi yang penting bagi Anda.

Sekarang Anda sudah bisa memulai membuat sosial sharing yang unik untuk stius WordPressAnda. Anda dapat mempelajari artikel Cara Membuat Social Sharing Grafik Batangan Untuk Wordpress dan kemudian mulai mempraktekkannya. Semoga bermanfaat

Referensi : Cara Membuat Social Sharing Grafik Batangan Untuk WordPress
Diubah oleh mybuty 02-10-2014 02:30
0
1.4K
2
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Mari bergabung, dapatkan informasi dan teman baru!
Website, Webmaster, Webdeveloper
Website, Webmaster, WebdeveloperKASKUS Official
23.3KThread4.3KAnggota
Terlama
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Ikuti KASKUS di
© 2023 KASKUS, PT Darta Media Indonesia. All rights reserved.