2

Very quick question. I'm relatively new to Expressionengine and unsure what could be causing my issue. So I have an Article template, inside of it I have comments:

<!-- Comments -->
        <div class="comments">
            <div class="existing-comments">
                <h3> Comments </h3>
                {exp:comment:entries sort="desc"}
                <div class="comment">
                    <div class="initial">
                        {if no_results}
                            <p class="center"> Be the first to write a comment. </p>
                        {/if}
                        <p>
                            {comment}
                        </p>
                        <span class="posted-by">Posted by <a href="{if url}{url}{if:else}#{/if}">{name}</a> on <strong>{comment_date format="%Y %m %d"}</strong></span>
                    </div>
                </div>
                {/exp:comment:entries}
            </div>
            <div class="comment-form">
                <h3> Leave a comment </h3>
                {exp:comment:form channel="blog_post" rules:name="required|email=required|comment=required"}
                    <ol>
                        <li>
                            <label>YOUR NAME<span>*</span></label>
                            <input type="text" name="name" value="{name}" required/>
                            {if error}
                            <p class="error">Name is a required field. </p>
                            {/if}
                        </li>
                        <li>
                            <label>YOUR EMAIL<span>*</span></label>
                            <input type="email" name="email" value="{email}" required/>
                            {if error}
                            <p class="error">Please enter a valid email. </p>
                            {/if}
                        </li>
                        <li>
                            <label>YOUR WEBSITE</label>
                            <input type="text" name="url" value="{url}" required/>
                        </li>
                        <li>
                            <label>YOUR COMMENT<span>*</span></label>
                            <textarea name="comment">{comment}</textarea>
                            {if error}
                            <p class="error">Comment is a required field </p>
                            {/if}
                        </li>
                        <li class="captcha">
                            {if captcha}
                                  {captcha}
                            {/if}
                        </li>
                        <li class="submit"><button type="submit">POST COMMENT</button></li>
                    </ol>
                {/exp:comment:form}
            </div>
        </div>

For some reason on only some of the articles the comment form and exp:comment:entries dissapear. 95% of articles are fine. Could you see if I made a mistake somewhere? Gone through 100 times through the code cant spot the difference.

I should also probably point out that comments are not nested. I use reCaptcha(if this makes a difference). Anybody encountered issue like this before?

Here is affected url: http://www.yourpeakstate.com/blog/the-4-secrets-to-living-your-dream-life-1

2 Answers 2

0

The ReCaptcha should not make a difference, it should invalidate the comment form and show errors.

As Balloonatic implies, review your comment settings as a first step.

Because you say this only affects like 5% of your articles, I would check the Options tab on the affected articles, in there is a check box for "Allow Comments", is this unticked on the affected articles? If so, there ya go.

The other things to check are :

  • Flood Control (Have you just posted a comment)
  • Member Group Comment Posting Priviledges

There is a flood control mechanism in EE, if it's a case of comment section disappearing on articles where I've just posted a comment I'd look into that (pretty long shot).

There are also a bunch of comment settings in the member group priviledges, check these as well. Are you looking at the site as a guest or while logged in?

  • Comment Posting Priviledges
    • Can submit comments
    • Exclude member from comment moderation
  • Comment Administration
    • Can Moderate Comments
    • Can view comments in channel entries authored by others
    • Can edit comments in their own channel entries
    • Can delete comments in their own channel entries
    • Can edit comments in ANY channel entries
    • Can delete comments in ANY channel entries

I'v highlighted some of the more applicable ones, have you checked the authors of the entries affected? perhaps this is affecting the 5%?

Edit 1 Some more ideas

Short of jumping into the core code and sticking some debugging trace style messages in there (line 148[ee2.10.1] of file /system/expressionengine/modules/comment/mod.comment.php is a good starting point if your interested) I'd ask you to compare an entry that works 100% and one that doesn't and note down any and all differences in the hunt for clues.

Perhaps try using the entry_id parameter in case there's something fudged in the dynamic handling on exp:comment:entries?

Also whats the status setup and expired/future entries setup is on this channel? Theres code in the comments module that filters comments on statuses (I've seen issues with this too!) and expired/future entries.

2
  • Hey ty for your generous answer. Unfortunetely after checking all those things didnt work :/ User do not have to be logged in to post comments. Commented Jun 3, 2015 at 16:49
  • hmm, thats a doozy then! I've made a few more suggestions above...
    – Blatant
    Commented Jun 4, 2015 at 9:01
0

Have you enabled guest posts? Go to Admin -> channel administration -> channel form. Than select "yes" for "allow guest posts" at the blog_post channel. You can also use the parameter allow_comments="yes" instead.

Is this post indeed in the blogpost channel which you have specified in your tag?

Edit:

Now I also notice that your comment:entries tag is not showing any text

  • Are your comment tags placed inside your channel tag? If so, place them outside.
  • As a last option you could als try to use the tag like this: {exp:comment:form channel="blog_post" dynamic="no" url_title="{segment_2}" rules:name="required|email=required|comment=required"}
2
  • Hey, yes using the same channel. Some good points thx for that. Although I did check for "allow guest post" and allow comments, they are both as they should be. (Checked After you answered) Commented Jun 3, 2015 at 16:36
  • I have added a few other possible solutions for this case. Commented Jun 4, 2015 at 10:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.