コード例 #1
0
 /**
  * Add a comment based on the message text.
  * @since 1.0.0
  */
 protected function add_comment()
 {
     $text = $this->get_message_text();
     $post = get_post($this->post_id);
     if (!$post or 'publish' != $post->post_status or !comments_open($this->post_id)) {
         trigger_error(sprintf(__('rejected comment on unqualified post %s', 'Postmatic'), $this->post_id), E_USER_NOTICE);
         Prompt_Comment_Mailing::send_rejected_notification($this->user_id, $this->post_id);
         return;
     }
     if ($this->comment_exists($text)) {
         trigger_error(sprintf(__('rejected duplicate comment on %s', 'Postmatic'), $this->post_id), E_USER_NOTICE);
         return;
     }
     $this->subscribe($notify = false);
     $user = get_userdata($this->user_id);
     $comment_data = array('user_id' => $this->user_id, 'comment_post_ID' => $this->post_id, 'comment_content' => $text, 'comment_agent' => __CLASS__, 'comment_author' => $user->display_name, 'comment_author_IP' => '', 'comment_author_url' => $user->user_url, 'comment_author_email' => $user->user_email, 'comment_parent' => $this->parent_comment_id, 'comment_type' => '', 'comment_date_gmt' => current_time('mysql', 1));
     remove_all_actions('check_comment_flood');
     $comment_data = wp_filter_comment($comment_data);
     $comment_data['comment_approved'] = $this->approve_comment($comment_data);
     $comment_id = wp_insert_comment($comment_data);
     if (0 == $comment_data['comment_approved']) {
         wp_notify_moderator($comment_id);
     }
 }