title: Wordpress - email users when their posts liked by the other users
body: <p>I'm using " <a href="https://github.com/JonMasterson/WordPress-Post-Like-System" rel="nofollow noreferrer">simple like system</a> " Plugin, I have this function to check when users get post liked by the other users, How can i send an email to post author when his posts got liked by the others? </p>
  
  <p>Something like " Hey {Post Author name}, {username of who likes the post} liked your post {post title}" { Post permalink}, visit {username} Profile at {author url}.</p>
  
  <pre><code>/**
   * Utility to test if the post is already liked
   * @since    0.5
   */
  function already_liked( $post_id, $is_comment ) {
      $post_users = NULL;
      $user_id = NULL;
      if ( is_user_logged_in() ) { // user is logged in
          $user_id = get_current_user_id();
          $post_meta_users = ( $is_comment == 1 ) ? get_comment_meta( $post_id, "_user_comment_liked" ) : get_post_meta( $post_id, "_user_liked" );
          if ( count( $post_meta_users ) != 0 ) {
              $post_users = $post_meta_users[0];
          }
      } else { // user is anonymous
          $user_id = sl_get_ip();
          $post_meta_users = ( $is_comment == 1 ) ? get_comment_meta( $post_id, "_user_comment_IP" ) : get_post_meta( $post_id, "_user_IP" ); 
          if ( count( $post_meta_users ) != 0 ) { // meta exists, set up values
              $post_users = $post_meta_users[0];
          }
      }
  
      if ( is_array( $post_users ) &amp;&amp; in_array( $user_id, $post_users ) ) {
          return true;
      } else {
          return false;
      }
  } // already_liked()
  </code></pre>
  
  <p>this one for post user likes</p>
  
  <pre><code>/**
   * Utility retrieves post meta user likes (user id array), 
   * then adds new user id to retrieved array
   * @since    0.5
   */
  function post_user_likes( $user_id, $post_id, $is_comment ) {
      $post_users = '';
      $post_meta_users = ( $is_comment == 1 ) ? get_comment_meta( $post_id, "_user_comment_liked" ) : get_post_meta( $post_id, "_user_liked" );
      if ( count( $post_meta_users ) != 0 ) {
          $post_users = $post_meta_users[0];
      }
      if ( !is_array( $post_users ) ) {
          $post_users = array();
      }
      if ( !in_array( $user_id, $post_users ) ) {
          $post_users['user-' . $user_id] = $user_id;
      }
      return $post_users;
  } // post_user_likes()
  </code></pre>
  
  <p>Here is what i tried to do but the whole function stopped working and email not sent.</p>
  
  <p>I added do_action and add_action, I don't know why but i saw another snippet did that.</p>
  
  <p>Original function above!!</p>
  
  <pre><code>function already_liked( $post_id, $is_comment ) {
      $post_users = NULL;
      $user_id = NULL;
      if ( is_user_logged_in() ) { // user is logged in
          $user_id = get_current_user_id();
          $post_meta_users = ( $is_comment == 1 ) ? get_comment_meta( $post_id, "_user_comment_liked" ) : get_post_meta( $post_id, "_user_liked" );
          if ( count( $post_meta_users ) != 0 ) {
              $post_users = $post_meta_users[0];
          }
      } else { // user is anonymous
          $user_id = sl_get_ip();
          $post_meta_users = ( $is_comment == 1 ) ? get_comment_meta( $post_id, "_user_comment_IP" ) : get_post_meta( $post_id, "_user_IP" ); 
          if ( count( $post_meta_users ) != 0 ) { // meta exists, set up values
              $post_users = $post_meta_users[0];
          }
      }
  
      $user = get_userdata($user_id);
      $user_url = get_author_posts_url( $user_id );
      $recipient = get_userdata($post_users);
      $recipient_email = $recipient-&gt;user_email;
      $body = sprintf('%s Liked your post!'. "\n\n", $user-&gt;display_name );
      $body .= sprintf( 'Visit Artist Page: %s', $user_url );
      wp_mail( $recipient_email , 'New Likes!', $body );
  
      add_action('post_like_user', $user_id, $post_users );
  
      if ( is_array( $post_users ) &amp;&amp; in_array( $user_id, $post_users ) ) {
  
              do_action( 'post_like_user', $user_id, $post_users );
  
          return true;
  
      } else {
          return false;
      }
  } // already_liked()
  </code></pre>