Cara Menambahkan Navigasi Next dan Previous di Postingan

Rian
Rian
Cara Menambahkan Navigasi Next dan Previous di Postingan

Halo sobat Malestea pada kesempatan kali ini saya akan membagikan sebuah Tutorial untuk Blogger yaitu "Cara Menambahkan Navigasi Next dan Previous" adalah sebuah pagination yang fungsinya untuk menampilkan artikel sebelum dan selanjutnya pada bagian artikel. Biasanya secara default blog pager atau navigasi blogger pada halaman post hanya berupa tulisan "Next" dan "Previous" atau "Newer" dan "Older" saja.

Tapi pada kesempatan ini saya akan membagikan beberapa cara penerapan blog pager atau navigasi blogger pada halaman post dengan tampilan yang berbeda-beda. Jadi saya akan menambahkan fungsi berupa merubah ke tulisan dari next dan prev ke judul postingan dan sehingga tampilan nya lebih terasa ke pengunjung. Sebab akan membantu pengunjung untuk mengetahui apa pembahasan dari artikel sebelum atau selanjutnya. Tentunya ini akan menjadikan blog lebih SEO friendly dan user friendly.

Saya akan membagikan dengan 2 cara yang dapat digunakan yaitu jQuery dan JavaScript dari kedua cara ini akan menghasilkan tampilan yang sama persis tanpa ada pembedaan terkecuali dibagian saat pembuatan kode pasti berbeda apabila menggunakan pure JavaScript.

Pertama. Pastikan blog kamu sudah ada library jQuery agar scriptnya bisa berjalan dengan baik. Apabila belum ada silahkan tambahkan kode berikut dan taruh di atas kode </head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" async="async"/>

Mengganti Navigasi Next dan Previous dengan Judul Postingan

Setelah menambahkan jQuery di blog Anda, sekarang ke bagian penerapannya dan silahkan di simak baik-baik langkah demi langkah nya.

  1. Pertama Anda tambahkan kode berikut sesudah kode <b:includeable id='main'>. Pilihlah yang ada di dalam widget Blog1.
  2. <b:includable id='nav-post'>
        <div class='nav-post'>
            <div class='pagination-left'>
                <b:if cond='data:newerPageUrl'>
                    <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'/>
                    <b:else/>
                    <a href='javascript:;' title='No more post'>
                        <div class='pagination-header'><span class='pagination-icon'><svg viewBox='0 0 24 24'><path d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z' fill='currentColor'/></svg></span><span class='pagination-title'>Previous Post</span></div>
                        <div class='pagination-content'><span class='pagination-title'>This Is The Current Newest Page</span></div>
                    </a>
                </b:if>
            </div>
            <div class='pagination-right'>
                <b:if cond='data:olderPageUrl'>
                    <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'/>
                    <b:else/>
                    <a href='javascript:;' title='No more post'>
                        <div class='pagination-header'><span class='pagination-title'>Next Post</span><span class='pagination-icon'><svg viewBox='0 0 24 24'><path d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' fill='currentColor'/></svg></span></div>
                        <div class='pagination-content'><span class='pagination-title'>This Is The Current Newest Page</span></div>
                    </a>
                </b:if>
            </div>
        </div>
    </b:includable>
  3. Sehingga hasilnya akan terlihat seperti berikut
  4. <b:includable id='main' var='this'>...</b:includable>
    <b:includable id='nav-post'>
        <div class='nav-post'>
            <div class='pagination-left'>
                <b:if cond='data:newerPageUrl'>
                    <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'/>
                    <b:else/>
                    <a href='javascript:;' title='No more post'>
                        <div class='pagination-header'><span class='pagination-icon'><svg viewBox='0 0 24 24'><path d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z' fill='currentColor'/></svg></span><span class='pagination-title'>Previous Post</span></div>
                        <div class='pagination-content'><span class='pagination-title'>This Is The Current Newest Page</span></div>
                    </a>
                </b:if>
            </div>
            <div class='pagination-right'>
                <b:if cond='data:olderPageUrl'>
                    <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'/>
                    <b:else/>
                    <a href='javascript:;' title='No more post'>
                        <div class='pagination-header'><span class='pagination-title'>Next Post</span><span class='pagination-icon'><svg viewBox='0 0 24 24'><path d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' fill='currentColor'/></svg></span></div>
                        <div class='pagination-content'><span class='pagination-title'>This Is The Current Newest Page</span></div>
                    </a>
                </b:if>
            </div>
        </div>
    </b:includable>
  5. Untuk menampilkan Navigasinya, silahkan cari kode berikut
  6. <b:includable id='post' var='post'>
  7. Kemudian tambahkan kode ini di dalamnya.
  8. <b:if cond='data:view.isPost'>
    	<b:include name='nav-post'/>
    </b:if>
  9. Sehingga hasil akhirnya seperti ini.
  10. <b:includable id='post' var='post'>
      <article class='post hentry'.............
    ..........
    ..........
    ..........
      </article>
      <b:if cond='data:view.isPost'>
        <b:include name='nav-post'/>
      </b:if>
    </b:includable>
  11. Supaya terlihat makin cantik tambahkan kode css berikut. Simpan di atas kode </style> atau </b:skin>
  12. .nav-post{display:flex;flex-flow:row nowrap;margin:40px -20px 40px -20px;justify-content:space-between}
    .nav-post > *{display:flex;flex:0 0 50%;max-width:50%;padding:0 20px}
    .nav-post a{display:flex;flex:1;flex-flow:column nowrap;color:currentColor}
    .nav-post .pagination-right .pagination-header{margin-left:auto}
    .nav-post .pagination-header{display:flex;align-items:center;font-size:12px;font-weight:700;margin-bottom:15px;letter-spacing:.1em;text-transform:uppercase;color:#666}
    .nav-post .pagination-content{display:flex;align-items:center;font-size:14px;font-weight:700;line-height:1.45}
    .nav-post .pagination-right .pagination-content{flex-flow:row-reverse;text-align:right}
    .nav-post .pagination-content .pagination-title{color:currentColor;text-decoration-line:underline;text-decoration-color:transparent;transition:all .3s cubic-bezier(.32,.74,.57,1)}
    .nav-post .pagination-content .pagination-title:hover{color:#005af0;text-decoration-color:currentColor}
    .nav-post .pagination-thumb{display:flex;flex-shrink:0;margin-right:12px;width:50px;height:50px}
    .nav-post .pagination-right .pagination-thumb{margin-right:0;margin-left:12px}
    .nav-post .pagination-thumb img{width:100%;height:100%;border-radius:50%;object-fit:cover}
    @media (max-width:480px){.nav-post > *:not(:last-child){border-right:thin solid rgba(0,0,0,.07)}.nav-post .pagination-thumb{display:none}}
  13. Terakhir, silahkan tambahkan kode berikut dan letakkan di atas </body>, silahkan pilih salah satu kode dibawah dengan fungsi sama.
  14. <b:if cond='data:view.isPost'>
    <script>/*<![CDATA[*/
    (function ($) { 
        var next = 'Next';
        var prev = 'Previous';
        var newerLink = $('a.blog-pager-newer-link'); var olderLink = $('a.blog-pager-older-link');
        $.get(newerLink.attr('href'), function (data) { var thumb = $(data)
                .find('.post-body')
                .length == 1 ? "<div class='pagination-header'><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z'></path></svg></div><div class='pagination-title'>" +next+ "</div></div><div class='pagination-content'>" : "";
            newerLink.html(thumb + '<span class="pagination-title">' + $(data)
                .find('.post-title')
                .text() + '</span></div>') }, "html");
        $.get(olderLink.attr('href'), function (data2) { var thumb2 = $(data2)
                .find('.post-body')
                .length == 1 ? "<div class='pagination-header'><div class='pagination-title'>"+prev+"</div><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'></path></svg></div></div><div class='pagination-content'>" : "";
            olderLink.html(thumb2 + '<span class="pagination-title">' + $(data2)
                .find('.post-title')
                .text() + '</span></div>') }, "html") })(jQuery); /*]]>*/</script>
    </b:if>
    <b:if cond='data:view.isPost'>
    <script>/*<![CDATA[*/
    /*! PagiNav by Malestea | v1.0.0 - https://www.malestea.com */
    var next = 'Next';
    var prev = 'Previous';
    if (/.+\.html(\?m=1)?$/.test(location.href)) {
      var olderLink = document.getElementById('Blog1_blog-pager-older-link');
      if (olderLink) {
        getPageTitle(olderLink, setOlderPageTitle);
        function setOlderPageTitle(data){
          setPageTitle(data, olderLink, '')
        };
      }
      var newerLink = document.getElementById('Blog1_blog-pager-newer-link');
      if (newerLink) {
        getPageTitle(newerLink, setNewerPageTitle);
        function setNewerPageTitle(data){
          setPageTitle2(data, newerLink, '')
        };
      }
      function setPageTitle(data, pageLink, prefix, suffix) {
        if (data.feed.entry) {
          if (data.feed.entry.length > 0) {
            var title = data.feed.entry[0].title.$t;
          }
        }
        if (title) {
          pageLink.innerHTML = "<div class='pagination-header'><div class='pagination-title'>"+next+"</div><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'></path></svg></div></div><div class='pagination-content'><span class='pagination-title'>"+ data.feed.entry[0].title.$t +"</span></div>";
        }
      }
      function setPageTitle2(data, pageLink, prefix, suffix) {
        if (data.feed.entry) {
          if (data.feed.entry.length > 0) {
            var title = data.feed.entry[0].title.$t;
          }
        }
        if (title) {
          pageLink.innerHTML = "<div class='pagination-header'><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z'></path></svg></div><div class='pagination-title'>"+prev+"</div></div><div class='pagination-content'><span class='pagination-title'>"+ data.feed.entry[0].title.$t +"</span></div>";
        }
      }
      function getPageTitle(pageLink, callback) {
          var pathname = pageLink.getAttribute('href').replace(location.protocol + '//' + location.hostname, '');
          var script = document.createElement('script');
          script.src = '/feeds/posts/summary?alt=json-in-script&max-results=1&redirect=false&path='+pathname+'&callback='+callback.name+'';
          document.body.appendChild(script);
      }
    }/*]]>*/</script>
    </b:if>

Perbandingan sebelum dan sesudah memakai JavaScript untuk mengubah navigasi next previous Blogger dengan judul artikel.

Cara Menambahkan Navigasi Next dan Previous di Postingan

Bila ingin ditambahkan dengan tampilan gambar/image di navigasi prev dan previous, silahkan ubah kode JavaScript atau jQuery diatas dengan kode berikut:

<script>/*<![CDATA[*/
(function ($) { 
    var next = 'Next';
    var prev = 'Previous';
    var newerLink = $('a.blog-pager-newer-link'); var olderLink = $('a.blog-pager-older-link');
    $.get(newerLink.attr('href'), function (data) { var thumb = $(data)
            .find('.post-body')
            .length == 1 ? "<div class='pagination-header'><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z'></path></svg></div><div class='pagination-title'>Previous Post</div></div><div class='pagination-content'><span class='pagination-thumb'><img alt='" + $(data)
            .find('.post-title')
            .text() + "' src='" + $(data)
            .find('.post-body img:first').attr('src', function(i, src) {return src.replace(/.*?:\/\//g , "//").replace( 's1600', 's386' );})
            .attr('src') + "' class='image' width='386' height='170'/></span>" : "";
        newerLink.html(thumb + '<span class="pagination-title">' + $(data)
            .find('.post-title')
            .text() + '</span></div>') }, "html");
    $.get(olderLink.attr('href'), function (data2) { var thumb2 = $(data2)
            .find('.post-body')
            .length == 1 ? "<div class='pagination-header'><div class='pagination-title'>Previous Post</div><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'></path></svg></div></div><div class='pagination-content'><span class='pagination-thumb'><img alt='" + $(data2)
            .find('.post-title')
            .text() + "' src='" + $(data2)
            .find('.post-body img:first').attr('src', function(i, src) {return src.replace(/.*?:\/\//g , "//").replace( 's1600', 's386' );})
            .attr('src') + "' class='image' width='386' height='170'/></span>" : "";
        olderLink.html(thumb2 + '<span class="pagination-title">' + $(data2)
            .find('.post-title')
            .text() + '</span></div>') }, "html") })(jQuery);/*]]>*/</script>
<script>/*<![CDATA[*/
/*! PagiNav by Malestea | v1.0.0 - https://www.malestea.com */
var next = 'Next';
var prev = 'Previous';
if (/.+\.html(\?m=1)?$/.test(location.href)) {
  var olderLink = document.getElementById('Blog1_blog-pager-older-link');
  if (olderLink) {
    getPageTitle(olderLink, setOlderPageTitle);
    function setOlderPageTitle(data){
      setPageTitle(data, olderLink, '')
    };
  }
  var newerLink = document.getElementById('Blog1_blog-pager-newer-link');
  if (newerLink) {
    getPageTitle(newerLink, setNewerPageTitle);
    function setNewerPageTitle(data){
      setPageTitle2(data, newerLink, '')
    };
  }
  function setPageTitle(data, pageLink, prefix, suffix) {
    if (data.feed.entry) {
      if (data.feed.entry.length > 0) {
        var title = data.feed.entry[0].title.$t;
      }
    }
    if (title) {
      pageLink.innerHTML = "<div class='pagination-header'><div class='pagination-title'>"+next+"</div><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'></path></svg></div></div><div class='pagination-content'><span class='pagination-thumb'><img alt='" + olderLink + "' src='" + data.feed.entry[0].media$thumbnail.url + "'/></span><span class='pagination-title'>"+ data.feed.entry[0].title.$t +"</span></div>";
    }
  }
  function setPageTitle2(data, pageLink, prefix, suffix) {
    if (data.feed.entry) {
      if (data.feed.entry.length > 0) {
        var title = data.feed.entry[0].title.$t;
      }
    }
    if (title) {
      pageLink.innerHTML = "<div class='pagination-header'><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z'></path></svg></div><div class='pagination-title'>"+prev+"</div></div><div class='pagination-content'><span class='pagination-thumb'><img alt='" + newerLink + "' src='" + data.feed.entry[0].media$thumbnail.url + "'/></span><span class='pagination-title'>"+ data.feed.entry[0].title.$t +"</span></div>";
    }
  }
  function getPageTitle(pageLink, callback) {
      var pathname = pageLink.getAttribute('href').replace(location.protocol + '//' + location.hostname, '');
      var script = document.createElement('script');
      script.src = '/feeds/posts/summary?alt=json-in-script&max-results=1&redirect=false&path='+pathname+'&callback='+callback.name+'';
      document.body.appendChild(script);
  }
}/*]]>*/</script>

Bagi yang mau melihat bagaimana hasilnya, silahkan klik tautan berikut Demo. Pada tampilan Demo. Saya menggunakan pure JavaScript seperti kode diatas untuk penerapannya.

Sampai disini saja dulu dan artikel pada blog ini akan terus saya update Setiap 3 Hari meskipun cuman Satu atau Dua saja tapi itu lebih baik daripada Tidak :#

2 comments : Cara Menambahkan Navigasi Next dan Previous di Postingan

  1. Bang Munir
    Bang kalau mengatur jarak diblogger gimana yah bang. kayak jarak iklan adsense dengan postingan
    • Rian
      Untuk mengatur jarak bisa pakai margin