Many of the blogger use modified custom templates instead of the basic templates provided by blogger itself. Many a problems occurs when we start using new template. One of which is these templates doesn't allow to do reply to comments on any blogger post.
So the question is
How to Enable Threaded Comments in Customized Blogger
So to enable your reply link in comments section you just need to follow some instructions which are actually very easy.
Step 1. Make sure your blog's pre post comment feed is in full mode.
Here's how you can check or change the setting:
New interface: Go to Settings > Other > Allow Blog Feeds > Custom > Per-Post Comment Feeds and set it to Full.
Old interface: Go to Settings > Site Feed > Advanced Mode > Per-Post Comment Feeds and set it to Full.
Step 2. Your blog should opted for embedded comments.
These are the steps to switch to Embedded comments:
New interface: Go to Settings > Posts and Comments > Comments > Comment Location and select Embedded.
Old interface: Go to Settings > Comments > Comment Form Placement and select Embedded below post.
Besides this in custom template blog you need to reset your blog post area. But before going to do that make a backup of your current template because it may cause some unwanted changes.
See here >> How to make backup of your blogger template
See here >> How to make backup of your blogger template
So these are the steps for how to reset your custom template
- Go to Template > Edit HTML > Proceed.
- Find the following line in your HTML code:
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'/>
- Change the ID from Blog1 to Blog2. It’s as easy as that. What this step does is removing the corrupt Blog Posts gadget (Blog1) and replacing it with a fresh new gadget (Blog2).
- Click SAVE TEMPLATE button to save.
- You will be asked whether to keep the widget or delete it. Choose delete by clicking the DELETE WIDGETS button.
View your blog. The post gadget should by now revert to default template -fully functioning and free of any changes.
Now just click on the reply link of comment of any post and you will be really feel happy to see the reply link working from now .
................................................................................................................................................................
NOTE : Here I got a second method for this.. If the above mentioned trick is not working on your blog thn go for this.. Before applying any change don't forget to download your template. (Here is tutorial for how to download blogger template http://www.ollengg.com/2013/07/how-to-download-blogger-template-in-new.html )
* First log in to Blogger
* Go To Template > Edit HTML
* Now find this code : <b:includable id='threaded_comment_js' var='post'>
* And Replace This above mentioned Code & Script With below Code & Script
<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>
Don't forget to give your feedback about this second method.
Okay, I was totally panicked about approving the "delete widget" thing, but it worked like a charm and now my Reply links are working for comments. You're a lifesaver! Thank you so much for posting this.
ReplyDelete:) thanks
DeleteI'm so much impressed..Got it to work on my blog..Thumbs up
DeleteThank you so much for this information. This finally helped me. I have not been able to reply to comments forever!!!
ReplyDeleteThat solved my problem, you are a genious, thank you very much!!!
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteAre you able to help with why the comments box is not appearing in the first place? Your instructions are so clear it would be great if you could help with why I can't get the comments field to appear with my posts. Thanks
ReplyDeleteit should appear properly. Please check out Step 1 and 2 again.
DeleteHey try our second method which we had added recently. Read above post and at the end there is a new another method for this. Hope it will solve ur problem.
DeleteI did everything and I changed it from 'blog1' to 'blog2'. It saved the changes, but never gave me a delete widget option and my 'reply' button is still not working. Any help?
ReplyDeletetry with replacing blog 2 with "blog 3" and also again check step 1 and 2 properly.
Deletesaame with me :( :(
DeleteHey try our second method which we had added recently. Read above post and at the end there is a new another method for this. Hope it will solve ur problem.
DeleteDoesn't work for me.. =(
ReplyDeletetest
Deleteensure that you have followed the first two steps rightly.
DeleteHas there been a fix cause my step one and two are correct and I also tried changing it from blog2 to blog3. thanks
DeleteHey try our second method which we had added recently. Read above post and at the end there is a new another method for this. Hope it will solve ur problem.
Deletenice information its help full for me
ReplyDeleteThank You
keep it up
This comment has been removed by the author.
ReplyDeleteHi, I dont get any question about delete the widget.. I have tried vith 2 and 3 and nothing changes.
ReplyDeleteHey try our second method which we had added recently. Read above post and at the end there is a new another method for this. Hope it will solve ur problem.
DeleteHi, please help! I've installed a new template and lost a lot of time on making changes and pimping it up, and now I see that my reply button doesn't work. I've made the changes, followed all the steps, but it doesn't offer me the "delete widget option"!!
ReplyDeleteHey try our second method which we had added recently. Read above post and at the end there is a new another method for this. Hope it will solve ur problem.
DeleteCan the widget be deleted manually, and if yes, how?
ReplyDeletemine not working also...
ReplyDeleteHey try our second method which we had added recently. Read above post and at the end there is a new another method for this. Hope it will solve ur problem.
Deletenot working on ma blog :( :(
ReplyDeletesalaskablog.blogspot.com
Hey try our second method which we had added recently. Read above post and at the end there is a new another method for this. Hope it will solve ur problem.
Deletethx anyway
Deleteit works like charm.
ReplyDeletei dont know but i think the last instruction is somewhat wrong
shouldnt it be 'And Replace This above mentioned Code & Script With below Code & Script'
ha ha. . my mistake. Corrected now. by the way thanks :)
DeleteHi, I did try your second version, and it now works perfect!
ReplyDeleteTHANK YOU!!! :)
The second solution fixed my problem.Thanks man!My blog is http://completepcguide.blogspot.com/
ReplyDeleteThank you! The second solution completely fixed my problem, thankfully. Although I wanted to mainly reply via email, I wanted the option of doing it in the comments in the event they didn't leave an email. :)
ReplyDeleteThank you soooo much :) It solved my problem perfectly (the second method) :)
ReplyDeleteSecond method works for me!
ReplyDeleteThank you so much :D
the second method solved my problem, yay!
ReplyDeleteThank you so much!!
thank you soooo much!!!!!!! i follow your instruction and it works for me!!!! thank youuuu!
ReplyDeleteThank you so much, the second method worked for me :)
ReplyDeleteThank you!!! I had almost given up!
ReplyDeleteThank you for sharing, the first method works on my blog.
ReplyDelete^^
Thank you very much... The first one didn't work though the 2nd one worked like a charm! :)
ReplyDeleteThanks very much. The first option didn't work, but the second worked a treat, much appreciated!
ReplyDeleteSecond method just works fine xD Thanks! I was scared that I was going to have to do the blog 1 changes all over again.
ReplyDeleteThank you! I have tried so many different things suggested on many different sites and this one FINIALLY worked. Thank you, thank you! (It was the second method that did the trick).
ReplyDelete