Showing posts with label Trik. Show all posts
Showing posts with label Trik. Show all posts

Thumbnail First Image Post Di Widget Sidebar Anew Theme Wordpress

Thumbnail First Image Post Di Widget Sidebar Anew Theme

Sebenarnya ini sama dengan cara mengganti thumbnail tema Anew di Wordpress dengan gambar pertama postingan, namun bedanya ini untuk thumbnail widget di sidebar blog seperti untuk recent post, random post, atau lainnya.

Jika kita tidak menggunakan featured image di postingan, maka thumbnail di widget pun tidak muncul dan diganti dengan thumbnail no-image. Berbeda dengan thumbnail postingan yang bisa diatasi lewat dashboard Wordpress, file php thumbnail widget tidak muncul di editor Wordpress. Untuk mengedit file php untuk widget sidebar (alx-posts.php), kita harus melakukannya lewat cpanel hosting kita.

Silahkan masuk ke cpanel hosting >> file manager >> public_html >> wp-content >> themes >> anew >> functions >> widgets >> kemudian edit alx-posts.php

Kemudian silahkan cari kode berikut di bawah ini:

     <?php if ( has_post_thumbnail() ): ?>
<?php the_post_thumbnail('thumb-medium'); ?>
<?php else: ?>
<img src="<?php echo get_template_directory_uri(); ?>/img/thumb-medium.png" alt="<?php the_title(); ?>" />
<?php endif; ?>

Setelah ketemu silahkan ganti dengan kode di bawah ini:

<img alt="<?php the_title(); ?>" src="data:image/gif;base64,R0lGODlhAwABAIAAAP///wAAACH5BAEAAAAALAAAAAADAAEAAAIChAsAOw==" data-src="<?php echo catch_that_image() ?>" title="<?php the_title(); ?>"/>

Kemudian silahkan simpan perubahannya. Dan pastikan Anda sudah menyimpan javascript defer img seperti di bawah ini di atas kode </body> (footer.php).

<script type='text/javascript'>
function init(){var e=document.getElementsByTagName("img");for(var t=0;t<e.length;t++){if(e[t].getAttribute("data-src")){e[t].setAttribute("src",e[t].getAttribute("data-src"))}}}window.onload=init;
</script>

Mengatasi No Image Thumbnail Pada Template Kompi Ajaib

No Image Thumbnail Pada Template Kompi Ajaib

Sampai saat ini sebenarnya belum ada yang mengeluhkan hal ini oleh pengguna template Kompi Ajaib yang tempo hari saya bagikan. Namun ketika saya berkunjung ke blog yang kebetulan menggunakan template Kompi Ajaib dan postingannya tidak menggunakan gambar atau thumbnail, terlihat kurang bagus di homepage-nya.

Nah untuk itu kini saya buatkan postingannya untuk mengatasi postingan yang tidak menyertakan gambar agar tampilan di homepage tidak kosong.

Bagi Anda yang menggunakan template Kompi Ajaib, silahkan ikuti cara mengatasi no image thumbnail pada template Kompi Ajaib di bawah ini.

Silahkan temukan kode di bawah ini:

<script type='text/javascript'>
document.write(sompret_image_creator(&quot;<data:post.thumbnailUrl/>&quot;,&quot;<data:post.title/>&quot;));
</script>

Kemudian silahkan ganti dengan kode di bawah ini:

<b:if cond='data:post.thumbnailUrl'>
<script type='text/javascript'>
document.write(sompret_image_creator(&quot;<data:post.thumbnailUrl/>&quot;,&quot;<data:post.title/>&quot;));
</script>
<b:else/>
 <img alt='thumbnail' class='post-thumbnail' height='190' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAt918kMrEm2mLIE_uRerI_brBr4x0SLZG20DtXyPe5BzayTOKdFYpOsFWdIZpfBfZz4dYrN9z2dvDR_5PEMeiIG_V2xxORneSRBWsCiqWwsYWoCo9TgG_nV_S71UMR8Xb_mdwUzY9jIog/s1600/noImg.jpg' width='300'/>
    </b:if>

Jika Anda ingin menggunakan gambar no image buatan sendiri, silahkan ganti url image di atas seperti ini.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAt918kMrEm2mLIE_uRerI_brBr4x0SLZG20DtXyPe5BzayTOKdFYpOsFWdIZpfBfZz4dYrN9z2dvDR_5PEMeiIG_V2xxORneSRBWsCiqWwsYWoCo9TgG_nV_S71UMR8Xb_mdwUzY9jIog/s1600/noImg.jpg

Sebenarnya pada javascript untuk menampilkan thumbnail sudah memiliki no-image, namun tidak bekerja pada template Kompi Ajaib ini. Untuk itu saya atasi dengan kode di atas.

Untuk template gelap Kompi Ajaib sudah saya atasi dengan kode di atas, tinggal Anda ganti gambar no image-nya jika ingin menggunakan gambar sendiri.

Membuat Related Posts Di Sidebar Blogger

Related Posts Di Sidebar Blogger

Sebenarnya ini adalah memindahkan widget related posts yang biasanya selalu berada di bawah postingan ke sidebar blog. Namun kita tidak akan menyentuh gadget sidebar di layout/tata letak, hanya melakukan pekerjaan ini di edit HTML. 

Dan related posts yang akan kita gunakan adalah related posts dari DTE. Cara memindahkan related posts ke sidebar ini sebenarnya sudah diberitahukan oleh mas Taufik pada komentar di postingannya, namun tidak terperinci.

Nah kali ini saya akan melengkapinya agar Anda lebih mudah memasang related posts ini pada sidebar blogger. Bagi yang ingin mencobanya silahkan ikuti langkah-langkahnya di bawah ini.

Kode CSS
Silahkan gunakan kode css di bawah ini agar related posts tidak berjejer ke samping tapi ke bawah. Dan jika Anda ingin memodif tampilannya agar sesuai dengan tema blog, silahkan modif pada css ini.

.related-bottomposts,.related-post h4 {display:none}
.related-post{margin:5% 5% 0;padding:0;font-family:'Open Sans',sans-serif;text-align:left;width:100%;position:relative;color:#000}
.related-post a{font-weight:600;color:#000;font-size:16px!important;}
.related-post a:hover{color:red}
.related-post-style-3,.related-post-style-3 li{margin:0!important;padding:0!important;list-style:none;word-wrap:break-word;overflow:hidden}
.related-post-style-3 .related-post-item{display:block;width:90%;max-width:300px;height:auto;padding:150px 0 10px;margin-bottom:20px!important}
.related-post-style-3 .related-post-item-thumbnail{display:block;margin:0 0 5px;width:99%;height:140px;max-width:none;max-height:none;background-color:transparent;padding:0;transition:all 400ms ease-in-out;border:1px solid #ddd}
.related-post-style-3 .related-post-item-thumbnail:hover{opacity:.7}
.related-post-style-3 .related-post-item:focus,.related-post-style-3 .related-post-item:active{outline:0}

Kode HTML
Kemudian silahkan copy kode di bawah ini.

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div class='related-bottomposts'>
    <div class='related-post' id='related-post'/>
</div>
<script type='text/javascript'>
var labelArray=[<b:if cond='data:post.labels'><b:loop values='data:post.labels' var='label'>
          &quot;<data:label.name/>&quot;<b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
      </b:loop></b:if>];var relatedPostConfig={widgetStyle:3,callBack:function(){if(window.addEventListener){window.addEventListener(&quot;DOMContentLoaded&quot;,insertRelatedPostMarkupToSidebar,false);window.addEventListener(&quot;load&quot;,insertRelatedPostMarkupToSidebar,false)}else{if(window.attachEvent){window.attachEvent(&quot;onload&quot;,insertRelatedPostMarkupToSidebar)}else{window.onload=insertRelatedPostMarkupToSidebar}}}};
</script>
</b:if>

Dan simpan kode di atas tadi di bawah kode berikut atau yang mirip seperti ini.

<b:if cond='data:blog.pageType == &quot;item&quot;'>
  <data:post.body/>
</b:if>
<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
  <data:post.body/>
</b:if>
      <div class='clear'/> <!-- clear for photos floats -->
    </div>

Kode Javascript
Simpan kode di bawah ini di atas kode </body>

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
//<![CDATA[
function insertRelatedPostMarkupToSidebar(){var e=document.getElementById("related"),t=document.getElementById("related-post");if(e)e.insertBefore(t,e.firstChild)};
var randomRelatedIndex,showRelatedPost;(function(n,m,k){var d={widgetTitle:"<h4>Artikel Terkait:</h4>",widgetStyle:1,homePage:"http://www.kompiajaib.com/",numPosts:7,summaryLength:370,titleLength:"auto",thumbnailSize:300,noImage:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAA3NCSVQICAjb4U/gAAAADElEQVQImWOor68HAAL+AX7vOF2TAAAAAElFTkSuQmCC",containerId:"related-post",newTabLink:false,moreText:"Baca Selengkapnya",callBack:function(){}};for(var f in relatedPostConfig){d[f]=(relatedPostConfig[f]=="undefined")?d[f]:relatedPostConfig[f]}var j=function(a){var b=m.createElement("script");b.type="text/javascript";b.src=a;k.appendChild(b)},o=function(b,a){return Math.floor(Math.random()*(a-b+1))+b},l=function(a){var p=a.length,c,b;if(p===0){return false}while(--p){c=Math.floor(Math.random()*(p+1));b=a[p];a[p]=a[c];a[c]=b}return a},e=(typeof labelArray=="object"&&labelArray.length>0)?"/-/"+l(labelArray)[0]:"",h=function(b){var c=b.feed.openSearch$totalResults.$t-d.numPosts,a=o(1,(c>0?c:1));j(d.homePage.replace(/\/$/,"")+"/feeds/posts/summary"+e+"?alt=json-in-script&orderby=updated&start-index="+a+"&max-results="+d.numPosts+"&callback=showRelatedPost")},g=function(z){var s=document.getElementById(d.containerId),x=l(z.feed.entry),A=d.widgetStyle,c=d.widgetTitle+'<ul class="related-post-style-'+A+'">',b=d.newTabLink?' target="_blank"':"",y='<span style="display:block;clear:both;"></span>',v,t,w,r,u;if(!s){return}for(var q=0;q<d.numPosts;q++){if(q==x.length){break}t=x[q].title.$t;w=(d.titleLength!=="auto"&&d.titleLength<t.length)?t.substring(0,d.titleLength)+"&hellip;":t;r=("media$thumbnail"in x[q]&&d.thumbnailSize!==false)?x[q].media$thumbnail.url.replace(/\/s[0-9]+(\-c)?/,"/s"+d.thumbnailSize):d.noImage;u=("summary"in x[q]&&d.summaryLength>0)?x[q].summary.$t.replace(/<br ?\/?>/g," ").replace(/<.*?>/g,"").replace(/[<>]/g,"").substring(0,d.summaryLength)+"&hellip;":"";for(var p=0,a=x[q].link.length;p<a;p++){v=(x[q].link[p].rel=="alternate")?x[q].link[p].href:"#"}if(A==2){c+='<li><img alt="thumbnail" class="related-post-item-thumbnail" src="'+r+'" width="'+d.thumbnailSize+'" height="'+d.thumbnailSize+'" title="'+t+'"><a class="related-post-item-title" title="'+t+'" href="'+v+'"'+b+">"+w+'</a><span class="related-post-item-summary"><span class="related-post-item-summary-text">'+u+'</span> <a href="'+v+'" class="related-post-item-more"'+b+">"+d.moreText+"</a></span>"+y+"</li>"}else{if(A==3||A==4){c+='<li class="related-post-item" tabindex="0"><a class="related-post-item-titleimg" href="'+v+'"'+b+' title="'+t+'"><img alt="thumbnail" class="related-post-item-thumbnail" src="'+r+'" width="'+d.thumbnailSize+'" height="'+d.thumbnailSize+'" title="'+t+'"></a><div class="related-post-item-tooltip"><a class="related-post-item-title" title="'+t+'" href="'+v+'"'+b+">"+w+"</a></div>"+y+"</li>"}else{if(A==5){c+='<li class="related-post-item" tabindex="0"><a class="related-post-item-wrapper" href="'+v+'" title="'+t+'"'+b+'><img alt="thumbnail" class="related-post-item-thumbnail" src="'+r+'" width="'+d.thumbnailSize+'" height="'+d.thumbnailSize+'" title="'+t+'"><span class="related-post-item-tooltip">'+w+"</span></a>"+y+"</li>"}else{if(A==6){c+='<li><a class="related-post-item-title" title="'+t+'" href="'+v+'"'+b+">"+w+'</a><div class="related-post-item-tooltip"><img alt="thumbnail" class="related-post-item-thumbnail" src="'+r+'" width="'+d.thumbnailSize+'" height="'+d.thumbnailSize+'" title="'+t+'"><span class="related-post-item-summary"><span class="related-post-item-summary-text">'+u+"</span></span>"+y+"</div></li>"}else{c+='<li><a title="'+t+'" href="'+v+'"'+b+">"+w+"</a></li>"}}}}}s.innerHTML=c+="</ul>"+y;d.callBack()};randomRelatedIndex=h;showRelatedPost=g;j(d.homePage.replace(/\/$/,"")+"/feeds/posts/summary"+e+"?alt=json-in-script&orderby=updated&max-results=0&callback=randomRelatedIndex")})(window,document,document.getElementsByTagName("head")[0]);
//]]>
</script>
</b:if>

Silahkan ganti kode http://www.kompiajaib.com/ dengan URL blog Anda dan silahkan tentukan jumlah related posts yang ingin ditampilkan pada kode berikut numPosts:7

Menentukan Target Gadget Sidebar
Nah silahkan simak dengan teliti pada langkah ini, karena tiap blog kadang-kadang memiliki tag sidebar yang berbeda-beda, jadi Anda jangan terpaku pada tag sidebar pada kode ini, namun sesuaikan dengan template yang anda gunakan.

Silahkan tentukan tempat untuk memunculkan related posts, misalnya And ingin memunculkan sidebarnya di bawah popular posts, dan misalnya kode sidebar dengan popular posts seperti di bawah ini.

<div id='sidebar-wrapper'>
  <b:section class='sidebar' id='sidebar' preferred='yes'>
    <b:widget id='PopularPosts1' locked='false' title='Popular Posts' type='PopularPosts'>
      <b:includable id='main'>
...............
...............
...............
</b:includable>
    </b:widget>
  </b:section>
</div>

Nah silahkan simpan kode di bawah ini tepat di bawah kode </b:widget> 

    <b:widget id='HTML5' locked='false' title='Related Posts' type='HTML'>
      <b:includable id='main'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content' id='related'>
    <data:content/>
  </div>
</b:includable>
    </b:widget>

Sehingga menjadi seperti berikut:

<div id='sidebar-wrapper'>
  <b:section class='sidebar3' id='sidebar3' preferred='yes'>
    <b:widget id='PopularPosts1' locked='false' title='Popular Posts' type='PopularPosts'>
      <b:includable id='main'>
...............
...............
...............
</b:includable>
    </b:widget>
    <b:widget id='HTML5' locked='false' title='Related Posts' type='HTML'>
      <b:includable id='main'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content' id='related'>
    <data:content/>
  </div>
</b:includable>
    </b:widget>
  </b:section>
</div>

Kemudian silahkan SAVE template Anda. Jika ternyata template tidak dapat di-save karena ada double id dari HTML5 (perhatikan kode ini id='HTML5' pada gadget Related Posts), silahkan ganti angka 5 dengan berapapun agar tidak terjadi double id, misalnya menjadi id='HTML30'. Kuncinya adalah kode id='related' sebagai target peletakan html related posts oleh javascript.

Dan jika ingin merubah title gadget-nya, jangan dirubah melalui tata letak/layout karena akan error. Tapi rubah pada edit HTML pada kode ini title='Related Posts'.

Menghilangkan Background Kuning Pada Iklan Adsense Di Blog

Background Kuning Pada Iklan Adsense Di Blog

Sebenarnya di blogspot hal ini jarang saya temui, namun di wordpres tampaknya hampir setiap pembuat tema wp menggunakannya. Dan pada blog wordpress saya juga mendapati hal yang sama yaitu ketika menyimpan iklan Google di postingan maka secara otomatis akan memiliki background yang biasanya menggunakan warna kuning.

Sebenarnya itu tidak akan menyebabkan apa-apa pada iklan Adsense. Tidak menaikan klik ataupun menurunkannya. Hanya saja menurut saya menjadi sedikit mengurangi atau mengganggu tampilan blog karena warna background-nya tidak menyatu atau sama dengan warna background postingan.

Jika Anda ingin menghilangkan atau menghapus warna background kuning pada iklan adsense tersebut, silahkan ikuti triknya di bawah ini.

Silahkan klik kanan pada background kuning tersebut kemudian inspect element, maka Anda akan melihat seperti pada gambar di bawah ini.

Inspect Element Background Kuning

Pada kolom sebelah kanan seperti pada gambar di atas tampak kode yang membuat iklan Adsense tersebut memiliki warna kuning seperti di bawah ini.
.entry ins {
background: #fff486;
}
Nah silahkan ganti kode background: #fff486; menjadi background: none; atau menghapus seluruh kode tersebut juga tidak apa-apa.

Untuk wordpress biasanya kode CSS di atas terdapat pada file style.css. Nah mudah bukan? 

Mengamankan Bandwidth Hosting Dari Image Postingan

Mengamankan Bandwidth Hosting

Berbeda dengan blog gratis seperti misalnya blogspot atau wordpress.com yang dapat mengupload gambar atau image tanpa batas, wordpress self hosted harus mikir dua kali untuk menambahkan image ke dalam postingan.

Gambar merupakan salah satu unsur yang cukup banyak mengkonsumsi bandwidth pada hosting. Jika ingin menghemat bandwidth, sebaiknya gunakan share image hosting seperti Google+ atau Picassa. Namun ada yang mengatakan bahwa image yang dihosting di pihak lain akan memperlambat loading blog.

Nah untuk itu kini saya share cara agar image yang dihosting di pihak lain tidak memperlambat loading blog wordpress self hosted.

Sebenarnya cara ini sama dengan cara mempercepat loading blogspot dengan menunda penayangan image postingan (deferring image). 


Namun seperti halnya blogspot, wordpress yang menggunakan gambar yang dihosting di pihak lain tidak bisa menampilkan thumbnail di homepage atau widget lain yang menggunakan thumbnail. Biasanya wordpress memiliki fitur Featured Image untuk thumbnail postingan. Dengan begitu kita perlu penanganan lanjutan agar gambar postingan bisa tampil sebagai thumbnail di homepage.

Nah penundaan penampilan gambar ini menggunakan trik menggunakan gambar dengan data:base64 dengan size yang sangat kecil untuk mengganti sementara gambar sesungguhnya. Dengan begitu peramban tidak mengupload gambar bersamaan dengan loading blog (sementara gambar diganti dengan gambar base64), namun setelah blog termuat seluruhnya. Dengan begitu loading blog tidak akan terganggu oleh loading image.

Penempatan gambarnya menggunakan kode di bawah ini.

<img src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="URL IMAGE ASLI DARI PICASSA ATAU LAINNYA" alt="" title="" width="" height="" />

Kemudian tambahkan javascript di bawah ini di atas kode </body>. Pada tema yang saya gunakan memiliki fitur Theme Options yang bisa menempatkan script di atas kode </body>.

<script type='text/javascript'>
function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i=0; i<imgDefer.length; i++) {
if(imgDefer[i].getAttribute('data-src')) {
imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>

Nah jika ternyata thumbnail postingan tidak muncul, silahkan gunakan script php untuk menampilkan gambar postingan (gambar pertama/first image post) pada link di bawah ini.
Trik ini sudah saya coba di blog wordpress saya AyoInter.net, silahkan coba lihat thumbnail postingan di homepage atau postingan. Klik kanan pada thumbnail dan open image in new tab kemudian lihat url image di address bar. Itu adalah url image dari Picassa bukan dari hosting wp saya.

Dengan ini pula kita bisa menghindari pencurian bandwidth karena penggunaan image (yang dihosting sendiri) yang digunakan orang lain.

Sticky Recent Post Slide Out On Scroll

Puter-puter cari ide postingan, akhirnya menemukan sesuatu juga. Saya menemukan sebuah generator widget untuk related post dari moretechtips.net yang menghasilkan related post atau recent post yang cukup keren dengan efek rolling posts. Kemudian muncul sebuah ide untuk memodifikasinya untuk dijadikan sebagai sticky widget yang muncul ketika halaman discroll.

Untuk penampakan sticky recent post slide out on scroll widget ini silahkan lihat di animasi gif di bawah ini.

Sticky Recent Post Slide Out On Scroll

Atau silahkan coba langsung pada link demo di bawah ini. Silahkan scroll halaman kotaknya.

Untuk mencobanya, silahkan copy kode CSS di bawah ini dan simpan di atas kode ]]></b:skin> atau kode </style>

.related-posts-widget{position:fixed;bottom:80px;right:0;display:none}
.related-posts-widget h2{color:#555;margin:0;padding:3px 6px 3px 0;font-weight:300;font-size:26px;font-family:inherit}
ul.rpw{list-style-type:none!important;margin:0;padding:0}
ul.rpw li{width:322px;overflow:hidden;margin:0;position:relative;list-style-type:none!important}
ul.rpw a{text-decoration:none;outline:0}
ul.rpw img{border:0;width:100%;height:auto;margin-bottom:-4px}
ul.rpw strong{background:#59a5d9;color:#fff;z-index:5;line-height:1.2em!important;position:absolute;bottom:0;left:0;right:0;height:auto;padding:4px 8px;font-weight:400;font-size:14px;font-family:inherit}
ul.rpw a strong{display:none}
ul.rpw a:hover strong{display:block}
.ani-dur{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:1s;-moz-animation-duration:1s;-ms-animation-duration:1s;animation-duration:1s;}
@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
100%{opacity:1;-webkit-transform:none;transform:none}}
@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
100%{opacity:1;-webkit-transform:none;transform:none}}
.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}

Kemudian simpan kode javascript di bawah ini di atas kode </body>

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
//<![CDATA[
(function(c){c.fn.relatedPostsWidget=function(s){if(!this.size())return this;s=c.extend({},c.fn.relatedPostsWidget.defaults,s);return this.each(function(){var k=c(this),z=0,g=null,p=null,t=0,q=0,l=-1,n=-1,u=-1,r=null,v=0,w=null,A="",b=s,F=function(){if(!((l+1)*b.show_n>=q&&!b.animate_loop))if(!v){c("li",g).eq(n).fadeOut(b.exit_time,B);b.show_n>1&&c("li",g).slice(n+1,u).fadeOut(b.exit_time)}},B=function(){if(g.parent().size()){l++;if(l*b.show_n>=q)l=0;n=l*b.show_n;u=(l+1)*b.show_n;c("li",g).eq(n).animate(r,
b.enter_time,"linear",C);b.show_n>1&&c("li",g).slice(n+1,u).animate(r,b.enter_time)}},C=function(){w&&clearTimeout(w);w=setTimeout(F,b.stay_time)},G=function(){r={};r[b.animate]="show";g.bind("mouseenter",function(){v=1}).bind("mouseleave",function(){v=0;C()});B()},x=function(){if(!(t||!g)){b.loading_class&&g.removeClass(b.loading_class);b.max_posts&&b.tags.length&&c("li:gt("+(b.max_posts-1)+")",g).remove();q=c("li",g).size();b.tags.length&&b.timeout&&b.max_posts&&c("img",g).each(function(){var d=
c(this);d.attr("rel")&&d.attr("src",d.attr("rel"))});if(b.show_n==0)c("li",g).show();else q&&G();t=1}},E=function(d){if(!t){z++;if(d.feed.entry){if(!g){k.html("");if(b.tags.length==0)b.recent_title&&c("<h2>"+b.recent_title+"</h2>").appendTo(k);else b.related_title&&c("<h2>"+b.related_title+"</h2>").appendTo(k);g=c('<ul class="rpw '+b.loading_class+'"></ul>').appendTo(k)}for(var i=0,o=d.feed.entry.length;i<o;i++){var e=d.feed.entry[i],h;a:{var f=0;for(h=e.link.length;f<h;f++)if(e.link[f].rel=="alternate"){h=
e.link[f].href;break a}h=""}f=e.title.$t;e=e.media$thumbnail?e.media$thumbnail.url:b.thumb_default;if(h!=A||b.tags.length==0)a:{var j=h,m=f,H=e;if(b.tags.length>0){e=c("li",g);f=0;for(var I=e.length;f<I;f++){var y=c("a",e.eq(f));h=D(y);if(y.attr("href")==j){j=y;m=++h;j.attr("score",m);b.post_score_class&&j.attr("class",b.post_score_class+m);for(j=f-1;j>=0;j--){m=c("a",e.eq(j));if(D(m)>h){f-j>1&&e.eq(j).after(e.eq(f));break a}}f>0&&e.eq(0).before(e.eq(f));break a}}}e=j;f=m;h=H;if(b.thumb_size!="s72-c")h=
h.replace("/s72-c/","/"+b.thumb_size+"/");j=b.tags.length&&b.timeout&&b.max_posts?"rel":"src";g.append('<li style="display:none"><a href="'+e+'" title="'+f+'">'+(b.thumbs&&h?"<span><img alt='thumbnail post' "+j+'="'+h+'" title="'+f+'"/></span>':"")+(b.titles?"<strong>"+f+"</strong>":"")+"</a></li>")}}}if(z>=b.tags.length){p&&clearTimeout(p);x()}}},D=function(d){d=parseInt(d.attr("score"));return d>0?d:1},J=function(){if(!b.tags){b.tags=[];c('a[rel="tag"]:lt('+b.max_tags+")").each(function(){var e=c.trim(c(this).text().replace(/\n/g,
""));if(c.inArray(e,b.tags)==-1)b.tags[b.tags.length]=e})}var d=b.blog_url+"/feeds/posts/summary/";if(b.tags.length==0){if(b.timeout)p=setTimeout(x,b.timeout);c.ajax({url:d,data:{"max-results":b.max_posts,alt:"json-in-script"},success:E,dataType:"jsonp",cache:true})}else{if(b.timeout)p=setTimeout(x,b.timeout*b.tags.length);for(var i=0,o=b.tags.length;i<o;i++)c.ajax({url:d,data:{category:b.tags[i],"max-results":b.posts_per_tag,alt:"json-in-script"},success:E,dataType:"jsonp",cache:true})}};(function(){var d=
k.attr("data-options");if(!d){var i=k.html().replace(/\n|\r\n/g,"");if(i)if((i=i.match(/<!--\s*(\{.+\});?\s*--\>/))&&i.length==2)d=i[1]}if(d){if(d.indexOf("{")<0)d="{"+d+"}";try{b=eval("("+d+")")}catch(o){a.html('<b style="color:red">'+o+"</b>");return null}b=c.extend({},c.fn.relatedPostsWidget.defaults,b)}if(b.post_page_only?location.pathname.match(/^\/\d{4}\/\d\d\/[\w\-\_]+\.html/):true){A=location.protocol+"//"+location.host+location.pathname+(b.url_querystring?location.search:"");J()}})()})};
c.fn.relatedPostsWidget.defaults={blog_url:"http://www.kompiajaib.com/",max_posts:5,max_tags:5,posts_per_tag:5,tags:false,loading_class:"rpw-loading",related_title:"Related Posts",recent_title:"Recent Posts",post_score_class:"",post_page_only:0,thumb_default:"",thumb_size:"s72-c",thumbs:1,titles:1,url_querystring:0,timeout:1500,show_n:0,stay_time:5E3,enter_time:200,exit_time:200,animate:"opacity",animate_loop:1}})(jQuery);jQuery(document).ready(function(){jQuery("div.related-posts-widget").relatedPostsWidget()});
$(window).scroll(function(){if ($(this).scrollTop()>1000){$('.related-posts-widget').fadeIn();}else{$('.related-posts-widget').fadeOut();}});
//]]>
</script>
<div class="related-posts-widget ani-dur fadeInRight"> 
<!-- {
    thumb_size:'s320'
,max_posts:5
,show_n:1
} -->
</div>
</b:if>

Kode yang berwarna merah silahkan ganti dengan URL blog Anda.

Ini akan menampilkan thumbnail dari recent post dengan lebar 320px dan tinggi menyesuaikan sehingga tinggi gambar akan berubah-rubah sesuai dengan gambar sesungguhnya. Jika Anda ingin menentukan tinggi gambarnya agar thumbnail yang muncul memiliki tinggi yang sama, silahkan ganti kode height:auto menjadi height:160px pada kode CSS ini.

ul.rpw img{border:0;width:100%;height:auto;margin-bottom:-4px}

Mengganti Thumbnail Anew Theme Wordpress Dengan Gambar Pertama Postingan

Mengganti Thumbnail Anew Theme Wordpress

Melanjutkan dari postingan saya yang lalu tentang mengamankan bandwidth hosting dari image postingan pada blog Wordpress, kini saya share cara mengganti thumbnail pada Anew theme Wordpress dengan gambar pertama pada postingan yang diupload di pihak ketiga seperti Picassa dan lainnya. Dengan begitu, meskipun kita tidak mengupload gambar di postingan wordpress tapi thumbnail postingan di homepage akan tetap muncul dengan post-format image. Sebagai contoh adalah blog wordpress saya, silahkan klik kanan dan open image in new window kemudian lihat URL-nya. Itu adalah URL dari Google+.

Namun tentunya dengan ini akan menambah kerjaan lagi ketika kita membuat postingan, selain mengupload terlebih dahulu gambar kita di pihak ketiga, kita juga harus menambahkan lagi kode html image ke dalam postingan secara manual. Namun menurut saya, demi menghemat bandwidth hosting maka hal ini harus kita lakukan.

Seperti yang saya katakan pada postingan sebelumnya, karena ini menggunakan image yang dihosting di pihak ketiga, maka agar gambar tidak menjadi beban loading blog maka kita gunakan juga trik defer image (menunda penayangan gambar).

Langkah Pertama

Silahkan buka functions.php melalui Dashboard > Appearance > Editor. Kemudian simpan php di bawah ini.

function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}

Silahkan save perubahannya. Kode di atas adalah untuk menampilkan gambar pertama di postingan. 

Langkah Kedua

Kemudian buka post-formats.php dan cari kode berikut

<?php if ( has_post_format( 'image' ) ): // Image ?>

<div class="post-format">
<div class="image-container">
<?php if ( has_post_thumbnail() ) {
the_post_thumbnail('thumb-large'); 
$caption = get_post(get_post_thumbnail_id())->post_excerpt;
if ( isset($caption) && $caption ) echo '<div class="image-caption">'.$caption.'</div>';
} ?>
</div>
</div>

<?php endif; ?>

Kemudian silahkan ganti kode di atas dengan kode di bawah ini.

<?php if ( has_post_format( 'image' ) ): // Image ?>

<div class="post-format">
<div class="image-container">
<img alt="<?php the_title(); ?>" src="data:image/gif;base64,R0lGODlhAwABAIAAAP///wAAACH5BAEAAAAALAAAAAADAAEAAAIChAsAOw==" data-src="<?php echo catch_that_image() ?>" title="<?php the_title(); ?>"/>
</div>
</div>

<?php endif; ?>

Kemudian jangan lupa simpan perubahannya. 

Langkah Ketiga

Sekarang silahkan buka footer.php dan simpan kode javascript di bawah ini di atas kode </body>

<script type='text/javascript'>
function init(){var e=document.getElementsByTagName("img");for(var t=0;t<e.length;t++){if(e[t].getAttribute("data-src")){e[t].setAttribute("src",e[t].getAttribute("data-src"))}}}window.onload=init;
</script>

Nah perubahan pada kode php untuk menampilkan gambar pertama postingan untuk dijadikan thumbnail di homepage pada tema Anew di wordpress sudah beres.

Langkah Keempat

Sekarang tinggal cara membuat postingan dengan menggunakan image yang dihosting di pihak ketiga.

Seperti biasa, silahkan tulis postingan Anda pada tampilan visual. Kemudian pada format postingan di sebelah kanan, atur pada poin Image. Setelah selesai membuat postingan, silahkan alihkan editor postingan pada tampilan Text. Kemudian silahkan simpan kode di bawah ini di awal postingan.

<img class="aligncenter thumbnail-postingan" src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="URL IMAGE DARI PICASSA DI SINI" alt="" title="" width="" height="" />

Silahkan sesuaikan URL image-nya, begitu pun untuk tag alt, title, width, dan height. Nah agar gambar tidak tampil di dalam postingan juga (karena gambar akan tampil di atas postingan), maka kita harus menyembunyikannya. Perhatikan pada kode class="aligncenter thumbnail-postingan" nah kode thumbnail-postingan ini untuk mengaturnya.

Sekarang publikasikan dulu postingannya dalam keadaan tampilan editor postingan Text. Setelah itu silahkan masuk ke Appearance > Editor dan silahkan buka style.css kemudian simpan css di bawah ini untuk menyembunyikan gambar pertama di postingan.

.thumbnail-postingan{display:none!important;visibility:hidden;width:0;height:0}

Selesai sekarang thumbnail postingan akan muncul dari image pertama postingan dan image pertama postingan tidak akan tampil di postingan.

Namun permasalahan lain muncul yaitu ketika postingan di share ke sosial media maka postingan tidak akan memiliki image alias no-image karena tidak memiliki featured image. Untuk saat ini saya belum mendapatkan solusinya, jika sudah ada akan saya share kembali.

Fixed (21 Feb. 2015): Silahkan ikuti trik untuk membuat Open Graph dan Twitter Card secara manual agar bisa dishare ke sosial media DI SINI.

Selesai....untuk selanjutnya setiap kali membuat postingan, Anda hanya perlu melakukan langkah keempat saja. Selamat mencoba.

Sumber:
Get First Post Imagehttp://www.wprecipes.com/how-to-get-the-first-image-from-the-post-and-display-it

Open Graph Dan Twitter Cards Wordpress Tanpa Featured Image

Open Graph Dan Twitter Cards Wordpress

Setelah kemarin kita mengganti thumbnail Wordpress untuk tema Anew dengan gambar pertama postingan yang dihosting di pihak ketiga, kini kita akan memperbaiki thumbnail yang tidak muncul ketika postingan dishare di sosial media karena tidak memiliki featured image.

Cara termudah untuk menambahkan Open Graph dan Twitter Cards pada Wordpress adalah dengan menggunakan plugin, misalnya dengan plugin Yoast. Namun jika postingan menggunakan image dari pihak lain (tanpa diupload di Wordpress) dalam hal ini berarti tanpa featured image, maka ketika postingan di share di sosial media tidak akan memiliki thumbnail atau diganti dengan no-image thumbnail.

Nah untuk itu, kita akan membuat Open Graph dan Twitter Cards agar postingan memiliki thumbnail walaupun tidak menggunakan featured image. Jika Anda menggunakan plugin untuk Open Graph dan Twitter Cards, silahkan matikan terlebih dahulu.

Silahkan masuk ke Dashboard > Appearance > Editor > header.php

Kemudian silahkan simpan kode di bawah ini di atas kode <?php wp_head(); ?>

<?php if (have_posts()):while(have_posts()):the_post(); endwhile; endif;?>
<!-- the default values -->
<meta property="fb:admins" content="URL PROFIL FB" />
<meta property="fb:profile_id" content="URL PAGE FB" />
<meta property="og:title" content="<?php single_post_title(''); ?>" />

<!-- if page is content page -->
<?php if (is_single()) { ?>
<meta property="og:url" content="<?php the_permalink() ?>"/>
<meta property="og:description" content="<?php echo strip_tags(get_the_excerpt($post->ID)); ?>" />
<meta property="og:type" content="article" />
<meta property="og:image" content="<?php if (function_exists('catch_that_image')) {echo catch_that_image(); }?>" />

<!-- if page is others -->
<?php } else { ?>
<meta property="og:url" content="<?php echo site_url(); ?>"/>
<meta property="og:site_name" content="<?php bloginfo('name'); ?>" />
<meta property="og:description" content="<?php bloginfo('description'); ?>" />
<meta property="og:type" content="website" />
<meta property="og:image" content="URL LOGO BLOG" /> 
<meta content='summary_large_image' name='twitter:card'/>
<meta content='@TWITTER USERNAME' name='twitter:creator'/> <?php } ?>

Silahkan sesuaikan url page facebookurl profil facebookurl logo blog, dan twitter username. Kemudian silahkan simpan perubahannya.

Di bawah ini adalah postingan yang dishare di fbgoogle+, dan twitter dari blog Wordpress saya yang menggunakan image dari pihak ketiga (Picassa) atau tanpa featured image.




Sumber Codehttp://www.hongkiat.com/blog/facebook-open-graph-wordpress/