Checking is user author of number of posts?












1














I have this function...



$user = wp_get_current_user();
if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
/* Is subscriber, is in category Locked, has amount of posts */
echo do_shortcode('[shortcode_name]');

} else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
/* Is subscriber, is in category Locked, has NO amount of posts */
echo '<div id="locked">
You are subscriber without number of posts!
</div>';

} else if ( in_category('Locked') ) {
/* Is NOT subscriber, is in category Locked, has NO amount of posts */
echo '<div id="locked">
Login or register pal!
</div>';

} else {
/* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
echo do_shortcode('[shortcode_name]');
}


I need to apply "has amount of posts" or "check if user is author of numebr of posts" on first part of code...



if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) && ?????


If this way can't work, I would have one more possible solution, it is to auto move user from subscriber to contributor once subscriber posted number of posts, but this first solution would be better.










share|improve this question





























    1














    I have this function...



    $user = wp_get_current_user();
    if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
    /* Is subscriber, is in category Locked, has amount of posts */
    echo do_shortcode('[shortcode_name]');

    } else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
    /* Is subscriber, is in category Locked, has NO amount of posts */
    echo '<div id="locked">
    You are subscriber without number of posts!
    </div>';

    } else if ( in_category('Locked') ) {
    /* Is NOT subscriber, is in category Locked, has NO amount of posts */
    echo '<div id="locked">
    Login or register pal!
    </div>';

    } else {
    /* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
    echo do_shortcode('[shortcode_name]');
    }


    I need to apply "has amount of posts" or "check if user is author of numebr of posts" on first part of code...



    if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) && ?????


    If this way can't work, I would have one more possible solution, it is to auto move user from subscriber to contributor once subscriber posted number of posts, but this first solution would be better.










    share|improve this question



























      1












      1








      1







      I have this function...



      $user = wp_get_current_user();
      if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
      /* Is subscriber, is in category Locked, has amount of posts */
      echo do_shortcode('[shortcode_name]');

      } else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
      /* Is subscriber, is in category Locked, has NO amount of posts */
      echo '<div id="locked">
      You are subscriber without number of posts!
      </div>';

      } else if ( in_category('Locked') ) {
      /* Is NOT subscriber, is in category Locked, has NO amount of posts */
      echo '<div id="locked">
      Login or register pal!
      </div>';

      } else {
      /* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
      echo do_shortcode('[shortcode_name]');
      }


      I need to apply "has amount of posts" or "check if user is author of numebr of posts" on first part of code...



      if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) && ?????


      If this way can't work, I would have one more possible solution, it is to auto move user from subscriber to contributor once subscriber posted number of posts, but this first solution would be better.










      share|improve this question















      I have this function...



      $user = wp_get_current_user();
      if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
      /* Is subscriber, is in category Locked, has amount of posts */
      echo do_shortcode('[shortcode_name]');

      } else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
      /* Is subscriber, is in category Locked, has NO amount of posts */
      echo '<div id="locked">
      You are subscriber without number of posts!
      </div>';

      } else if ( in_category('Locked') ) {
      /* Is NOT subscriber, is in category Locked, has NO amount of posts */
      echo '<div id="locked">
      Login or register pal!
      </div>';

      } else {
      /* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
      echo do_shortcode('[shortcode_name]');
      }


      I need to apply "has amount of posts" or "check if user is author of numebr of posts" on first part of code...



      if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) && ?????


      If this way can't work, I would have one more possible solution, it is to auto move user from subscriber to contributor once subscriber posted number of posts, but this first solution would be better.







      posts functions






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 28 at 22:22









      Krzysiek Dróżdż

      13.5k52741




      13.5k52741










      asked Nov 28 at 22:14









      MLL

      355




      355






















          2 Answers
          2






          active

          oldest

          votes


















          2














          I guess count_user_posts is what you're looking for ;)



          This is how you use it:



          $user_post_count = count_user_posts( $userid , $post_type );


          And it returns the number of published posts the user has written in this post type.



          PS. And if you want some more advanced count, get_posts_by_author_sql can come quite handy.






          share|improve this answer





















          • Thank you. Where do I put number of posts I want for the user to be able to see the content? For example I want user to add 5 posts before posts from category Locked become visible to him.
            – MLL
            Nov 28 at 22:47










          • Solved. Thank you!
            – MLL
            Nov 28 at 22:53



















          1














          Guy above answered correctly, but for anyone needing this further, I will add full code as response too...



          $user = wp_get_current_user();
          $user_ID = get_current_user_id();
          $user_post_count = count_user_posts( $user_ID );
          $my_post_meta = get_post_meta($post->ID, 'shortcode_name', true);


          if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) && $user_post_count == 5 ) {
          /* Is subscriber, is in category Locked, has amount of posts */
          echo do_shortcode('[shortcode_name]');

          } else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
          /* Is subscriber, is in category Locked, has NO amount of posts */
          echo '<div id="locked">
          You are subscriber without number of posts!
          </div>';
          } else if (( in_category('Locked') ) && in_array( 'administrator', (array) $user->roles ) ) {
          /* Is subscriber, is in category Locked, has power */
          echo do_shortcode('[shortcode_name]');

          } else if ( in_category('Locked') ) {
          /* Is NOT subscriber, is in category Locked, has NO amount of posts */
          echo '<div id="locked">
          Login or register pal!
          </div>';

          } else if ( ! empty ( $my_post_meta ) ) {
          /* Post meta exist */
          echo do_shortcode('[shortcode_name]');


          } else {

          /* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
          /* Post meta NOT exist */
          echo do_shortcode('[shortcode_name_1]');
          }





          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "110"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fwordpress.stackexchange.com%2fquestions%2f320505%2fchecking-is-user-author-of-number-of-posts%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            I guess count_user_posts is what you're looking for ;)



            This is how you use it:



            $user_post_count = count_user_posts( $userid , $post_type );


            And it returns the number of published posts the user has written in this post type.



            PS. And if you want some more advanced count, get_posts_by_author_sql can come quite handy.






            share|improve this answer





















            • Thank you. Where do I put number of posts I want for the user to be able to see the content? For example I want user to add 5 posts before posts from category Locked become visible to him.
              – MLL
              Nov 28 at 22:47










            • Solved. Thank you!
              – MLL
              Nov 28 at 22:53
















            2














            I guess count_user_posts is what you're looking for ;)



            This is how you use it:



            $user_post_count = count_user_posts( $userid , $post_type );


            And it returns the number of published posts the user has written in this post type.



            PS. And if you want some more advanced count, get_posts_by_author_sql can come quite handy.






            share|improve this answer





















            • Thank you. Where do I put number of posts I want for the user to be able to see the content? For example I want user to add 5 posts before posts from category Locked become visible to him.
              – MLL
              Nov 28 at 22:47










            • Solved. Thank you!
              – MLL
              Nov 28 at 22:53














            2












            2








            2






            I guess count_user_posts is what you're looking for ;)



            This is how you use it:



            $user_post_count = count_user_posts( $userid , $post_type );


            And it returns the number of published posts the user has written in this post type.



            PS. And if you want some more advanced count, get_posts_by_author_sql can come quite handy.






            share|improve this answer












            I guess count_user_posts is what you're looking for ;)



            This is how you use it:



            $user_post_count = count_user_posts( $userid , $post_type );


            And it returns the number of published posts the user has written in this post type.



            PS. And if you want some more advanced count, get_posts_by_author_sql can come quite handy.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 28 at 22:23









            Krzysiek Dróżdż

            13.5k52741




            13.5k52741












            • Thank you. Where do I put number of posts I want for the user to be able to see the content? For example I want user to add 5 posts before posts from category Locked become visible to him.
              – MLL
              Nov 28 at 22:47










            • Solved. Thank you!
              – MLL
              Nov 28 at 22:53


















            • Thank you. Where do I put number of posts I want for the user to be able to see the content? For example I want user to add 5 posts before posts from category Locked become visible to him.
              – MLL
              Nov 28 at 22:47










            • Solved. Thank you!
              – MLL
              Nov 28 at 22:53
















            Thank you. Where do I put number of posts I want for the user to be able to see the content? For example I want user to add 5 posts before posts from category Locked become visible to him.
            – MLL
            Nov 28 at 22:47




            Thank you. Where do I put number of posts I want for the user to be able to see the content? For example I want user to add 5 posts before posts from category Locked become visible to him.
            – MLL
            Nov 28 at 22:47












            Solved. Thank you!
            – MLL
            Nov 28 at 22:53




            Solved. Thank you!
            – MLL
            Nov 28 at 22:53













            1














            Guy above answered correctly, but for anyone needing this further, I will add full code as response too...



            $user = wp_get_current_user();
            $user_ID = get_current_user_id();
            $user_post_count = count_user_posts( $user_ID );
            $my_post_meta = get_post_meta($post->ID, 'shortcode_name', true);


            if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) && $user_post_count == 5 ) {
            /* Is subscriber, is in category Locked, has amount of posts */
            echo do_shortcode('[shortcode_name]');

            } else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
            /* Is subscriber, is in category Locked, has NO amount of posts */
            echo '<div id="locked">
            You are subscriber without number of posts!
            </div>';
            } else if (( in_category('Locked') ) && in_array( 'administrator', (array) $user->roles ) ) {
            /* Is subscriber, is in category Locked, has power */
            echo do_shortcode('[shortcode_name]');

            } else if ( in_category('Locked') ) {
            /* Is NOT subscriber, is in category Locked, has NO amount of posts */
            echo '<div id="locked">
            Login or register pal!
            </div>';

            } else if ( ! empty ( $my_post_meta ) ) {
            /* Post meta exist */
            echo do_shortcode('[shortcode_name]');


            } else {

            /* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
            /* Post meta NOT exist */
            echo do_shortcode('[shortcode_name_1]');
            }





            share|improve this answer




























              1














              Guy above answered correctly, but for anyone needing this further, I will add full code as response too...



              $user = wp_get_current_user();
              $user_ID = get_current_user_id();
              $user_post_count = count_user_posts( $user_ID );
              $my_post_meta = get_post_meta($post->ID, 'shortcode_name', true);


              if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) && $user_post_count == 5 ) {
              /* Is subscriber, is in category Locked, has amount of posts */
              echo do_shortcode('[shortcode_name]');

              } else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
              /* Is subscriber, is in category Locked, has NO amount of posts */
              echo '<div id="locked">
              You are subscriber without number of posts!
              </div>';
              } else if (( in_category('Locked') ) && in_array( 'administrator', (array) $user->roles ) ) {
              /* Is subscriber, is in category Locked, has power */
              echo do_shortcode('[shortcode_name]');

              } else if ( in_category('Locked') ) {
              /* Is NOT subscriber, is in category Locked, has NO amount of posts */
              echo '<div id="locked">
              Login or register pal!
              </div>';

              } else if ( ! empty ( $my_post_meta ) ) {
              /* Post meta exist */
              echo do_shortcode('[shortcode_name]');


              } else {

              /* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
              /* Post meta NOT exist */
              echo do_shortcode('[shortcode_name_1]');
              }





              share|improve this answer


























                1












                1








                1






                Guy above answered correctly, but for anyone needing this further, I will add full code as response too...



                $user = wp_get_current_user();
                $user_ID = get_current_user_id();
                $user_post_count = count_user_posts( $user_ID );
                $my_post_meta = get_post_meta($post->ID, 'shortcode_name', true);


                if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) && $user_post_count == 5 ) {
                /* Is subscriber, is in category Locked, has amount of posts */
                echo do_shortcode('[shortcode_name]');

                } else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
                /* Is subscriber, is in category Locked, has NO amount of posts */
                echo '<div id="locked">
                You are subscriber without number of posts!
                </div>';
                } else if (( in_category('Locked') ) && in_array( 'administrator', (array) $user->roles ) ) {
                /* Is subscriber, is in category Locked, has power */
                echo do_shortcode('[shortcode_name]');

                } else if ( in_category('Locked') ) {
                /* Is NOT subscriber, is in category Locked, has NO amount of posts */
                echo '<div id="locked">
                Login or register pal!
                </div>';

                } else if ( ! empty ( $my_post_meta ) ) {
                /* Post meta exist */
                echo do_shortcode('[shortcode_name]');


                } else {

                /* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
                /* Post meta NOT exist */
                echo do_shortcode('[shortcode_name_1]');
                }





                share|improve this answer














                Guy above answered correctly, but for anyone needing this further, I will add full code as response too...



                $user = wp_get_current_user();
                $user_ID = get_current_user_id();
                $user_post_count = count_user_posts( $user_ID );
                $my_post_meta = get_post_meta($post->ID, 'shortcode_name', true);


                if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) && $user_post_count == 5 ) {
                /* Is subscriber, is in category Locked, has amount of posts */
                echo do_shortcode('[shortcode_name]');

                } else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
                /* Is subscriber, is in category Locked, has NO amount of posts */
                echo '<div id="locked">
                You are subscriber without number of posts!
                </div>';
                } else if (( in_category('Locked') ) && in_array( 'administrator', (array) $user->roles ) ) {
                /* Is subscriber, is in category Locked, has power */
                echo do_shortcode('[shortcode_name]');

                } else if ( in_category('Locked') ) {
                /* Is NOT subscriber, is in category Locked, has NO amount of posts */
                echo '<div id="locked">
                Login or register pal!
                </div>';

                } else if ( ! empty ( $my_post_meta ) ) {
                /* Post meta exist */
                echo do_shortcode('[shortcode_name]');


                } else {

                /* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
                /* Post meta NOT exist */
                echo do_shortcode('[shortcode_name_1]');
                }






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Nov 29 at 16:14

























                answered Nov 28 at 22:53









                MLL

                355




                355






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to WordPress Development Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fwordpress.stackexchange.com%2fquestions%2f320505%2fchecking-is-user-author-of-number-of-posts%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to change which sound is reproduced for terminal bell?

                    Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

                    Can I use Tabulator js library in my java Spring + Thymeleaf project?