Don't render comments on pages with comments disabled #16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The README suggests using the following in a custom theme:
Without a custom theme, the code instead uses the WordPress
comments_template
filter. However, there's no check in this logic forcomments_open()
, so comments get rendered on pages with comments disabled.Additionally, when a draft post is previewed, Talk comments are rendered. This leads to a few issues with autopopulating the assets record, primarily that WordPress doesn't typically generate the pretty URL as the canonical URL - that is, the "canonical" URL will be
yourdomain.com/?p=1234
rather thanyourdomain.com/post-name/
. This leads to multiple asset records, one for the draft version of the post and one for the published version.The solution is a simple check for both of these states in the filter code.
Testing: comments are still rendered for published posts with comments enabled; comments are not rendered for posts with comments disabled, or for previews of draft posts.