I'm looking for a function that restricts each commenter to <strong>only create one thread</strong>. The commenter may reply as much as they like but only inside the current thread they created.
Shoeb mirza answers:
So in Functions.php add
function c_parent_comment_counter($pid,$uid){
global $wpdb;
$query = "SELECT COUNT(comment_post_id) AS count FROM $wpdb->comments WHERE comment_approved = 1 AND comment_post_ID= $pid AND user_id = $uid AND comment_parent = 0";
$parents = $wpdb->get_row($query);
return $parents->count;
</blockquote>
and in comments.php
global $current_user, $post;
$number_of_parents = c_parent_comment_counter($post->ID,$current_user->ID);
echo "parents: ".$number_of_parents;
if ( $number_of_parents >= 1 ) {
echo '<nav class="withcomment">';
comment_form( array( 'title_reply' => __( 'Reply' ) ) );
echo '</nav>';
} else {
echo '<span class="withoutcomment">' . comment_form( array( 'title_reply' => __( 'Your opinion' ) ) ) . '</span>';
}
in style.css
.withcomment {
display: none;
}
Try this and let me know if it fix for you?
pjeaje comments:
Sorry I need this to work with the native WP comments. If I change the comment.php it will affect other plugins
pjeaje comments:
Create 1 thread AND only reply to this same thread
Reigel Gallarde answers:
users can't comment to other thread?
pjeaje comments:
Correct, only REPLY to their own thread
pjeaje comments:
Create 1 thread AND only reply to this same thread