Skip to content Skip to sidebar Skip to footer

Cara Menambahkan Related Post di Tengah Postingan Blog (Acakan)

Kali ini saya akan memberikan tutorial bagaimana cara menambahkan Related Post di tengah-tengah postingan blog.

Related Post kali ini tergolong unik dan beda dari yang lainnya, sebab "Artikel Terkait" ini akan tersisip secara otomatis di dalam satu artikel. Satu per satu.

Apalagi artikel terkaitnya menyebar, tidak dalam satu tempat. Istilah lainnya, Multi Related Posts.

Cara Menambahkan Related Post di Tengah Postingan Blog (Acakan)

Sebab seperti yang kita tahu, Related Post biasanya ditampilkan di bawah artikel blog. Tapi, kali ini kita akan menyisipkan "Artikel Terkait" di tengah-tengah artikel blog.

Cara Menambahkan Related Post di Tengah Postingan Blog


Tutorial ini saya dapatkan dari blog Arlina Desgin, sumbernya ada di bawah. Langsung saja, ya!

Simpan kode di bawah ini, di atas kode </head>

<b:if cond='data:blog.pageType != &quot;index&quot;'>
<style type='text/css'>
/* Multi Related Post */
.arldzgnMultiRelated{background-color:#2a2a2a;color:#fff;margin:15px auto;display:-moz-box;display:-ms-flexbox;display:flex;flex-wrap:nowrap;justify-content:space-between;overflow:hidden;transition:all .3s}
.arldzgnMultiRelated:hover{background-color:#222}
.arldzgnMultiRelated .content{padding:12px 15px}
.arldzgnMultiRelated .content .text{margin-right:5px}
.arldzgnMultiRelated .content a{color:#fff;text-decoration:none;line-height:1.5em}
.arldzgnMultiRelated .content a:hover{text-decoration:underline}
.arldzgnMultiRelated .icon{height:auto;min-width:55px;background:#f44336 url(&quot;data:image/svg+xml,%3Csvg viewBox=&#39;0 0 24 24&#39; xmlns=&#39;http://www.w3.org/2000/svg&#39;%3E%3Cpath d=&#39;M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z&#39; fill=&#39;%23fff&#39;/%3E%3C/svg%3E&quot;) center / 40px no-repeat;transition:all .3s}
</style>
</b:if>

Simpan kode di bawah ini, di bawah kode <data:post.body/> yang kedua atau ketiga karena kode Post.Body ini ada banyak.

<b:if cond='data:view.isPost'>
<script type='text/javascript'>
//<![CDATA[
// Multi Related Post
(function() {var jumlah = 4;let post = document['querySelectorAll']('.post-body br, .post-body p'),a = jumlah + 1,b = post['length'] / a;c = Array['from']({length: jumlah}, (redfx, blufx) => blufx + 1);
for (let d = 0; d < c['length']; d++) {let e = c[d],f = parseInt((b * e)),g = document['createElement']('div');g['className'] = 'arldzgnMultiRelated';if (post[f]['nodeName'] == 'P') {post[f]['parentNode']['insertBefore'](g, post[f])} else {post[f]['parentNode']['insertBefore'](g, post[f]['nextSibling'])}}})();
var relatedTitles = new Array();var relatedTitlesNum = 0;var relatedUrls = new Array();function related_results_labels(nerdfx) {for (var desfx = 0; desfx < nerdfx['feed']['entry']['length']; desfx++) {var nefx = nerdfx['feed']['entry'][desfx];relatedTitles[relatedTitlesNum] = nefx['title']['$t'];for (var ciafx = 0; ciafx < nefx['link']['length']; ciafx++) {if (nefx['link'][ciafx]['rel'] == 'alternate') {relatedUrls[relatedTitlesNum] = nefx['link'][ciafx]['href'];relatedTitlesNum++;break}}}}
function removeRelatedDuplicates() {var viefx = new Array(0);var labfx = new Array(0);for (var desfx = 0; desfx < relatedUrls['length']; desfx++) {if (!contains(viefx, relatedUrls[desfx])) {viefx['length'] += 1;viefx[viefx['length'] - 1] = relatedUrls[desfx];labfx['length'] += 1;labfx[labfx['length'] - 1] = relatedTitles[desfx]}};relatedTitles = labfx;relatedUrls = viefx}
function contains(yelfx, yufx) {for (var grefx = 0; grefx < yelfx['length']; grefx++) {if (yelfx[grefx] == yufx) {return true}};return false}
//]]>
</script>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:view.isPost'>
<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels&amp;max-results=100&quot;'/>
</b:if>
</b:loop>
</b:if>
<script type='text/javascript'>
//<![CDATA[
(function arldzgnMultiRelated() {var text = 'Also read :';let r = Math['floor']((relatedTitles['length'] - 1) * Math['random']());let i = 0;let jumlah = document['querySelectorAll']('.arldzgnMultiRelated');while (i < relatedTitles['length'] && i < jumlah['length']) {for (let a = 0; a < jumlah['length']; a++) {jumlah[a]['innerHTML'] = '<span class="content"><span class="text">' + text + '</span><a href="' + relatedUrls[r] + '" title="' + relatedTitles[r] + '">' + relatedTitles[r] + '</a></span><span class="icon"></span>';if (r < relatedTitles['length'] - 1) {r++} else {r = 0};i++}}})();
//]]>
</script>
</b:if>

Terakhir, silakan ketuk menu Save Template. Ok sudah selesai.

Perhatikan: Ada angka 4 di bagian JavaScript (Js). Angka ini mengartikan bahwa artikel dari Related Post yang ditampilkan dalam satu artikel blog, akan menampilkan 4 postingan blog.

Jika perlu, ubah juga kalimat "Also Read". Posisinya sama-sama berada di bagian JavaScript (Js) di atas. Demikian cara menambahkan Related Post di tengah artikel blog. Selamat mencoba!

Sumber: https://www.arlinadzgn.com/2019/01/cara-memasang-multi-related-post-di-postingan.html
Arief Ghozaly
Arief Ghozaly Konten kreator artikel (writer/creator) sejak 2015.

Post a Comment for "Cara Menambahkan Related Post di Tengah Postingan Blog (Acakan)"