Form WhatsApp

Cara Menampilkan Balas Komentar (Comment Reply) di Blog

shape image

Cara Menampilkan Balas Komentar (Comment Reply) di Blog

kotak reply komentar  blog
TOMBOL untuk membalas atau menjawab komentar (Threaded Comment, Comment Reply) di blog menjadi isu tersendiri di kalangan blogger. Pasalnya, banyak blogger yang "kehilangan" menu untuk merespons komentar yang masuk di blognya.

Rupanya, CB juga mengalaminya, yaitu ketika memodifikasi template BTube yang CB "sulap" menjadi Template Blog Simple Magz yang Super SEO Friendly.

Normalnya, di kotak komentar blog Anda ada tombol "Reply" atau "Balas Komentar" tepat di bawah kotak komentar yang masuk. Dengan begitu, Anda "ngobrol" langsung dengan masing-masing pengunjung yang komentar.

Nah, bagaimana jika tombol reply comment itu tidak ada? Dari hasil "riset online" alias Googling, CB menemukan banyak sekali tips atau cara memunculkan balas komentardi blog itu. Tidak kurang dari 10 cara yang berbeda! WOW!!!

Anda yang punya masalah dengan reply comment di blog ini, bisa mencobanya satu per satu. Semoga saja percobaan pertama langsung berhasil. Amin.......!

10 Cara Menampilkan Tombol Balas Komentar di Blog

CARA #1
1. Klik "Setting"
2. Klik "Posts and Comments"
3. Pilih "Embedded" (Tersemat)
4. Save!
5. Klik "Other"
6. "Post Feeds" pilih "Full"
7. Save!

CARA #2
1. Template > Edit HTML
2. Ganti kode <b:include data='post' name='comments'/> dengan

<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threaded_comments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>

CARA #3
1. Template > Edit HTML
2. Cari kode seperti ini :

<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<b:if cond='data:post.allowComments'>
<b:include data='post' name='comments'/>
</b:if>
</b:if>

3. Ganti dengan kode berikut ini :

<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threaded_comments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>
</b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threaded_comments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>
</b:if>

4. Save!

CARA #4
1. Template > Edit HTML
2. Hapus/ganti  kode yang diawali dengan 
<b:includable id='threaded_comment_js' var='post'> 
dan diakhiri dengan
</b:includable> 
dengan kode di bawah ini:

<b:includable id='threaded_comment_js' var='post'>
  <script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>

  <script type='text/javascript'>
    (function() {
      var items = <data:post.commentJso/>;
      var msgs = <data:post.commentMsgs/>;
      var config = <data:post.commentConfig/>;

// <![CDATA[
      var cursor = null;
      if (items && items.length > 0) {
        cursor = parseInt(items[items.length - 1].timestamp) + 1;
      }

      var bodyFromEntry = function(entry) {
        if (entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
              return '<span class="deleted-comment">' + entry.content.$t + '</span>';
            }
          }
        }
        return entry.content.$t;
      }

      var parse = function(data) {
        cursor = null;
        var comments = [];
        if (data && data.feed && data.feed.entry) {
          for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
            var comment = {};
            // comment ID, parsed out of the original id format
            var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
            comment.id = id ? id[2] : null;
            comment.body = bodyFromEntry(entry);
            comment.timestamp = Date.parse(entry.published.$t) + '';
            if (entry.author && entry.author.constructor === Array) {
              var auth = entry.author[0];
              if (auth) {
                comment.author = {
                  name: (auth.name ? auth.name.$t : undefined),
                  profileUrl: (auth.uri ? auth.uri.$t : undefined),
                  avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
                };
              }
            }
            if (entry.link) {
              if (entry.link[2]) {
                comment.link = comment.permalink = entry.link[2].href;
              }
              if (entry.link[3]) {
                var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
                if (pid && pid[1]) {
                  comment.parentId = pid[1];
                }
              }
            }
            comment.deleteclass = 'item-control blog-admin';
            if (entry.gd$extendedProperty) {
              for (var k in entry.gd$extendedProperty) {
                if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
                  comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
                }
              }
            }
            comments.push(comment);
          }
        }
        return comments;
      };

      var paginator = function(callback) {
        if (hasMore()) {
          var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-

results=50';
          if (cursor) {
            url += '&published-min=' + new Date(cursor).toISOString();
          }
          window.bloggercomments = function(data) {
            var parsed = parse(data);
            cursor = parsed.length < 50 ? null
                : parseInt(parsed[parsed.length - 1].timestamp) + 1
            callback(parsed);
            window.bloggercomments = null;
          }
          url += '&callback=bloggercomments';
          var script = document.createElement('script');
          script.type = 'text/javascript';
          script.src = url;
          document.getElementsByTagName('head')[0].appendChild(script);
        }
      };
      var hasMore = function() {
        return !!cursor;
      };
      var getMeta = function(key, comment) {
        if ('iswriter' == key) {
          var matches = !!comment.author
              && comment.author.name == config.authorName
              && comment.author.profileUrl == config.authorUrl;
          return matches ? 'true' : '';
        } else if ('deletelink' == key) {
          return config.baseUri + '/delete-comment.g?blogID='
               + config.blogId + '&postID=' + comment.id;
        } else if ('deleteclass' == key) {
          return comment.deleteclass;
        }
        return '';
      };

      var replybox = null;
      var replyUrlParts = null;
      var replyParent = undefined;

      var onReply = function(commentId, domId) {
        if (replybox == null) {
          // lazily cache replybox, and adjust to suit this style:
          replybox = document.getElementById('comment-editor');
          if (replybox != null) {
            replybox.height = '250px';
            replybox.style.display = 'block';
            replyUrlParts = replybox.src.split('#');
          }
        }
        if (replybox && (commentId !== replyParent)) {
          document.getElementById(domId).insertBefore(replybox, null);
          replybox.src = replyUrlParts[0]
              + (commentId ? '&parentID=' + commentId : '')
              + '#' + replyUrlParts[1];
          replyParent = commentId;
        }
      };

      var hash = (window.location.hash || '#').substring(1);
      var startThread, targetComment;
      if (/^comment-form_/.test(hash)) {
        startThread = hash.substring('comment-form_'.length);
      } else if (/^c[0-9]+$/.test(hash)) {
        targetComment = hash.substring(1);
      }

      // Configure commenting API:
      var configJso = {
        'maxDepth': config.maxThreadDepth
      };
      var provider = {
        'id': config.postId,
        'data': items,
        'loadNext': paginator,
        'hasMore': hasMore,
        'getMeta': getMeta,
        'onReply': onReply,
        'rendered': true,
        'initComment': targetComment,
        'initReplyThread': startThread,
        'config': configJso,
        'messages': msgs
      };

      var render = function() {
        if (window.goog && window.goog.comments) {
          var holder = document.getElementById('comment-holder');
          window.goog.comments.render(holder, provider);
        }
      };

      // render now, or queue to render when library loads:
      if (window.goog && window.goog.comments) {
        render();
      } else {
        window.goog = window.goog || {};
        window.goog.comments = window.goog.comments || {};
        window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
        window.goog.comments.loadQueue.push(render);
      }
    })();
// ]]>
  </script>
</b:includable>

Cara #5 Menampilkan Balas Komentar di Blog

1. Template > Edit HTML
2. Cari kode <div class='post-outer'> atau <b:if cond='data:post.includeAd'>
3. Di antara kedua kode tersebut terdapat kode seperti berikut :

        <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
          <b:include data='post' name='comments'/>
         </b:if>
    <b:if cond='data:blog.pageType == &quot;item&quot;'>
          <b:include data='post' name='comments'/>
         </b:if>
         </div>

4. Hapus semua kode tersebut dan ganti dengan kode yang ada di bawah ini:

           <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
           <b:if cond='data:post.showThreadedComments'>
        <b:include data='post' name='threaded_comments'/>
           <b:else/>
           <b:include data='post' name='comments'/>
          </b:if>
         </b:if>
     <b:if cond='data:blog.pageType == &quot;item&quot;'>
           <b:if cond='data:post.showThreadedComments'>
         <b:include data='post' name='threaded_comments'/>
           <b:else/>
           <b:include data='post' name='comments'/>
          </b:if>
         </b:if>
        </div>

Cara #6
1. Ganti kode <b:include data='post' name='comments'/> dengan

<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threaded_comments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>

Cara #7
1. Copy dulu blogID Anda yang ada di Address (blogID=xxxxxxxxxxx)
2. Temukan kode <dd class='comment-footer'>
atau
<b:include data='comment' name='commentDeleteIcon'/>

3. Tambahkan kode berikut ini di bawah salah satu kode tersebut:

<a expr:href='&quot;https://www.blogger.com/comment.g?blogID=xxxxxxx&amp;postID=&quot; + data:post.id + &quot;&amp;isPopup=true&amp;postBody=%40%3C %61%20%68%72%65%66%3D%22%23&quot; + data:comment.anchorName + &quot;%22%3E&quot; +
data:comment.author + &quot;%3C%2F%61%3E#form&quot;' onclick='javascript:window.open(this.href,
&quot;bloggerPopup&quot;,
&quot;toolbar=0,location=0,statusbar=1,menubar=0,scrollbars=yes,width=450,height=450&quot;);
return false;'><img alt='Reply To This Comment' src='http://4.bp.blogspot.com/_mWrR0-
gomZ0/TIIfWolwWgI/AAAAAAAAARE/nwiHJLeqSVw/s1600/reply.gif'/></a>

Cara #8
1. Template �> Edit HTML
2. Ganti kode
<b:includable id=�threaded_comment_js� var=�post�> .... hingga kode </b:includable>
dengan kode di bawah ini:

<b:includable id='threaded_comment_js' var='post'>
<script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>
<script type='text/javascript'>
(function() {
var items = <data:post.commentJso/>;
var msgs = <data:post.commentMsgs/>;
var config = <data:post.commentConfig/>;
// <![CDATA[
var cursor = null;
if (items && items.length > 0) {
cursor = parseInt(items[items.length - 1].timestamp) + 1;
}
var bodyFromEntry = function(entry) {
if (entry.gd$extendedProperty) {
for (var k in entry.gd$extendedProperty) {
if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
return '<span class="deleted-comment">' + entry.content.$t + '</span>';
}
}
}
return entry.content.$t;
}
var parse = function(data) {
cursor = null;
var comments = [];
if (data && data.feed && data.feed.entry) {
for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
var comment = {};
// comment ID, parsed out of the original id format
var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
comment.id = id ? id[2] : null;
comment.body = bodyFromEntry(entry);
comment.timestamp = Date.parse(entry.published.$t) + '';
if (entry.author && entry.author.constructor === Array) {
var auth = entry.author[0];
if (auth) {
comment.author = {
name: (auth.name ? auth.name.$t : undefined),
profileUrl: (auth.uri ? auth.uri.$t : undefined),
avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
};
}
}
if (entry.link) {
if (entry.link[2]) {
comment.link = comment.permalink = entry.link[2].href;
}
if (entry.link[3]) {
var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
if (pid && pid[1]) {
comment.parentId = pid[1];
}
}
}
comment.deleteclass = 'item-control blog-admin';
if (entry.gd$extendedProperty) {
for (var k in entry.gd$extendedProperty) {
if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
}
}
}
comments.push(comment);
}
}
return comments;
};
var paginator = function(callback) {
if (hasMore()) {
var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
if (cursor) {
url += '&published-min=' + new Date(cursor).toISOString();
}
window.bloggercomments = function(data) {
var parsed = parse(data);
cursor = parsed.length < 50 ? null
: parseInt(parsed[parsed.length - 1].timestamp) + 1
callback(parsed);
window.bloggercomments = null;
}
url += '&callback=bloggercomments';
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}
};
var hasMore = function() {
return !!cursor;
};
var getMeta = function(key, comment) {
if ('iswriter' == key) {
var matches = !!comment.author
&& comment.author.name == config.authorName
&& comment.author.profileUrl == config.authorUrl;
return matches ? 'true' : '';
} else if ('deletelink' == key) {
return config.baseUri + '/delete-comment.g?blogID='
+ config.blogId + '&postID=' + comment.id;
} else if ('deleteclass' == key) {
return comment.deleteclass;
}
return '';
};
var replybox = null;
var replyUrlParts = null;
var replyParent = undefined;
var onReply = function(commentId, domId) {
if (replybox == null) {
// lazily cache replybox, and adjust to suit this style:
replybox = document.getElementById('comment-editor');
if (replybox != null) {
replybox.height = '250px';
replybox.style.display = 'block';
replyUrlParts = replybox.src.split('#');
}
}
if (replybox && (commentId !== replyParent)) {
document.getElementById(domId).insertBefore(replybox, null);
replybox.src = replyUrlParts[0]
+ (commentId ? '&parentID=' + commentId : '')
+ '#' + replyUrlParts[1];
replyParent = commentId;
}
};
var hash = (window.location.hash || '#').substring(1);
var startThread, targetComment;
if (/^comment-form_/.test(hash)) {
startThread = hash.substring('comment-form_'.length);
} else if (/^c[0-9]+$/.test(hash)) {
targetComment = hash.substring(1);
}
// Configure commenting API:
var configJso = {
'maxDepth': config.maxThreadDepth
};
var provider = {
'id': config.postId,
'data': items,
'loadNext': paginator,
'hasMore': hasMore,
'getMeta': getMeta,
'onReply': onReply,
'rendered': true,
'initComment': targetComment,
'initReplyThread': startThread,
'config': configJso,
'messages': msgs
};
var render = function() {
if (window.goog && window.goog.comments) {
var holder = document.getElementById('comment-holder');
window.goog.comments.render(holder, provider);
}
};
// render now, or queue to render when library loads:
if (window.goog && window.goog.comments) {
render();
} else {
window.goog = window.goog || {};
window.goog.comments = window.goog.comments || {};
window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
window.goog.comments.loadQueue.push(render);
}
})();
// ]]>
</script>
</b:includable>

Cara #9
1. Template > Edit HTML
2. Temykan kode <data:commentpostedbymsg/>
2. Simpan kode berikut ini di bawahnya:

<a expr:href='&quot;https://www.blogger.com/comment.g?blogID=BLOG ID NUMBER&amp;postID=&quot; + data:post.id + &quot;&amp; isPopup=true&amp;postBody=%40%3C%61%20%68%72%65%66%3D%22%23&quot; +
data:comment.anchorName + &quot;%22%3E&quot; + data:comment.author + &quot;%3C%2F
%61%3E#form&quot;' onclick='javascript:window.open(this.href, &quot;bloggerPopup&quot;,
&quot;toolbar=0,location=0,statusbar=1,menubar=0,scrollbars=yes,width=450,height=450&quot;);
return false;'> <img alt='Reply To This Comment' src='http://1.bp.blogspot.com/-
39DoCOYzEbQ/TtubLZruk2I/AAAAAAAAALs/qEonXrhGcqE/s1600/reply.png'/></a>

Cara #10
Ini cara termudah. Ada 3 cara:
1. Ganti template!
2. Kontak desainer template blog Anda!
3. Minta tolong, sewa, atau bayar orang lain untuk memperbaiki masalah reply komentar ini!

Tips Bonus: Reply Comment without Pop Up Box!

Jika reply comment And berupa kotak Pop Up, lalu ingin menggantinya dengan yang "biasa" alias tidak muncul pop up, maka gunakan tips ini: Threaded comments for blogger without popup window
(http://artistutorial.blogspot.com/2013/04/threaded-comments-for-blogger-comment.html)
Nah... 'kan... banyak banget cara mengatasi masalah reply komentar alias Cara Menampilkan Balas Komentar (Comment Reply) di Blog? Anda punya cara tersendiri? Share with us!

Link Sumber:
Jika uraian CB soal menampilkan reply comment blog di atas dianggap "membingungkan", silakan langsung ke sumbernya berikut ini:
  • http://xomisse.com/blog/fix-reply-button-blogger-comments/
  • http://www.makingdifferent.com/how-to-reply-button-not-working-in-blogger-threaded-comments/
  • http://www.bloggertricks.net/2013/05/how-to-add-reply-button-to-blogger-comment.html
  • http://www.bloggerplugins.org/2012/01/threaded-comments-for-blogger.html
  • http://www.betatemplates.com/2012/01/how-enable-threaded-comments-blogger.html

1 komentar:

  1. Poker | AduQ | BandarQ | DominoQ | Capsa Susun | Bandar Poker

    ____________________________________

    BONUS REFF 20% SEUMUR HIDUP

    BONUS TURN OVER PALING BESAR 0.5% !!

    Kelebihan Seniqq.com yang digemari masyarakat Indonesia:

    Minimal Depo, Hanya Rp. 20.000

    Jackpot hingga Jutaan rupiah

    Proses Depo dan WD SUPER CEPAT

    Bisa dimainkan di Android, Iphone dan Ipad

    Pelayanan CS 24 jam yang Ramah dan Profesional

    | BCA | Mandiri | BNI | BRI | Danamon |

    100% TANPA ROBOT Real Player vs Player

    Segera daftarkan diri anda sekarang juga ^^

    Klik Register

    goo.gl/yig6cA

    Untuk info selengkapnya silahkan hubungi kami di :

    pelayanan terbaik kami

    LIVECHAT
    a
    FACEBOOK : SENI QQ

    BBM : 561A1388

    YmaiL : csseniqq@yahoo.com

    Mari bergabung dengan kami SENI99

    Partner sejati untuk permainan kartu anda .^^.
    agenqq

    agen qq

    domino 99

    agen bandarq

    dominoqq

    agen domino

    domino qq

    bandarq

    aduq

    agen poker

    poker online

    BalasHapus
© Copyright 2019 ID Semplo

Form WhatsApp

This order requires the WhatsApp application.

Order now