The effects of alcohol on sustanon 250 leucine for – real weight loss & bodybuilding benefits?
Search
Close
AI Search
Classic Search
 Search Phrase:
 Search Type:
Advanced search options
 Search in Forums:
 Search in date period:

 Sort Search Results by:

AI Assistant
Disable main form, ...
 
Share:
Notifications
Clear all

[Solved] Disable main form, only allow reply

8 Posts
2 Users
2 Reactions
2,863 Views
Posts: 22
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@zoker)
Eminent Member
Joined: 4 years ago
[#2690]

Hi there,

 

I try to disable the comment field, if the user has already commented on this post. But he should be able to reply to his own comment and other comments.

When I disable the form with this filter ...

function hide_form($output, $commentsCount, $currentUser) {
    return '';
}
add_filter('wpdiscuz_form_render', 'hide_form', 10, 3);

... the form is disabled, but also the reply form. 

Is there any way to do this? 

 

If I have a function to disable the main form, I will surround it with a check if the user has already made a comment. But I first need the form disable filter.

Thanks!


7 Replies
Posts: 22
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@zoker)
Eminent Member
Joined: 4 years ago

For everyone interested, here is the code to get if the current user already posted a level 0 comment:

global $post;
$args = array(
    'post_id'    => $post->ID,
    'author__in' => get_current_user_id(),
    'parent' => 0,
    'count' => true
);
$comments_count = get_comments( $args );

6 Replies
(@zoker)
Joined: 4 years ago

Eminent Member
Posts: 22
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

This is not the solution, this is only the wrapper I need for getting, if a user already made a level 0 comment on the post. I still need the function, that removes the main comment form, but not the reply form. 


Asti
 Asti
Support
(@asti)
Joined: 8 years ago

Illustrious Member
Posts: 8208
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

Hi Zoker,

I'm going to ask the developers if there is a simple solution for this and back to you asap. 


Asti
 Asti
Support
(@asti)
Joined: 8 years ago

Illustrious Member
Posts: 8208
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

@zoker,

Please try this one: 

function hide_form($output, $commentsCount, $currentUser) {
   global $post;
   $args = array(
      'post_id'    => $post->ID,
      'author__in' => get_current_user_id(),
      'parent' => 0,
      'count' => true
   );
   $comments_count = get_comments( $args );
    if ($comments_count) {
        $output = preg_replace('~<div class="wpd-form[^"\']+wpd-main-form-wrapper[^>]+>.*?(<div id="wpdiscuz_hidden_secondary_form")~is', '$1', $output);
    }
   return $output;
}
add_filter('wpdiscuz_form_render', 'hide_form', 10, 3);

It should work fine. 


(@zoker)
Joined: 4 years ago

Eminent Member
Posts: 22
Asti
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

@asti Yes that works, thank you very much! Can you please ask the developers to include a proper filter for that anyway? Would be a cleaner way instead of using a pre_replace with regex (especially if the html changes within a update, then the regex won't work anymore) 🙂

But for now this is perfect, thanks!


Asti
 Asti
Support
(@asti)
Joined: 8 years ago

Illustrious Member
Posts: 8208
Asti
Asti
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

Zoker,

I'm really sorry, but this is not planned yet.

We'd really appreciate and be thankful if you leave a good review on plugin page. This is the best way to say thank you to this project and support team.


(@zoker)
Joined: 4 years ago

Eminent Member
Posts: 22
Asti
Asti
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

@asti Yes, that's why I asked you to create a feature request for this 🙂

Thanks!

Will do, thanks!


Share: