Hi,
I was wondering if it is possible to load all comments at once as the front end user injecting Javascript?
If there is a public Method available to do that?
Reason I ask is because I want to print out the pages with a lot of comments with AJAX pagination, I don't want to have to scroll down for each page to print..
Hi @tunafish,
You can use the "Load all comments" for the "Comments Pagination Type" option. It's located in the Dashboard > wpDiscuz > Settings > Comment Thread Displaying admin page.
More info here: https://wpdiscuz.com/docs/wpdiscuz-7/plugin-settings/comment-thread-displaying/#comments-pagination-type
I don't see why loading all comments could be a security issue, but hey I am not a developer.
I am not trying anything wrong or strange or something, I just want to print all the comments of some webpages using your ajax pagination without having to scroll!..
<div class="wpdiscuz-comment-pagination" style="display: none;"> <div class="wpd-load-more-submit-wrap"> <button name="submit" data-lastparentid="281344" class="wpd-load-more-submit wpd-loaded wpd-prim-button"> Load More Comments </button> </div> <span id="wpdiscuzHasMoreComments" data-is_show_load_more="1"></span> </div>
Is there nothing I can do with the button?
Any help would be appreciated!
OK, I have found it.
Basically 3 steps:
- set .wpdiscuz-comment-pagination property to style="display:block"
- set #wpdiscuzHasMoreComments attribute to data-is_show_load_more="0"
- <button> .click()
I checked pagination with:
- presence of #wpdiscuzHasMoreComments
- comparing the <button> attribute data-lastparentid against the last loaded comment <div> id #wpd-comm-XXXXX_0
Hope it can help someone else!
function autoLoadAllComments() { var moreComSpn = document.getElementById('wpdiscuzHasMoreComments'); if (moreComSpn != null) { var moreComBtn = moreComSpn.previousElementSibling.firstElementChild; var btnLastParentID = moreComBtn.getAttribute('data-lastparentid'); var divLastParentID = moreComSpn.parentNode.previousElementSibling.id; divLastParentID = divLastParentID.split('wpd-comm-')[1]; divLastParentID = divLastParentID.split('_0')[0]; if (btnLastParentID == divLastParentID) { moreComSpn.parentNode.style.display = 'block'; moreComSpn.setAttribute('data-is_show_load_more', '0'); moreComBtn.click(); } else { clearTimeout(flash_autoLoadAllComments); } } else { clearTimeout(flash_autoLoadAllComments); } } autoLoadAllComments(); var flash_autoLoadAllComments = setTimeout(autoLoadAllComments, 250);