post_id=0 при записи комментария на хук save_post
-
Пытаюсь добавить автокомментарий, но в таблицу wp_comments в поле comment_post_id всегда пишется 0
function CP_PersonNotice{ global $post; $post_id = $post->ID; $post_type= get_post_type(); $persons = array(); $personsmails = array(); $member_id=get_post_meta($post_id,'member_from-cp-posts-sql', true); $user_id=get_user_by_person($member_id); if ($user_id==0) { $person_mail=get_post_meta($person_id,'email', true); } if ($person_mail<>''){ // проверяем есть ли дата завершение, в зависимости от этого устанавливаем тип комментария $post_date_end = get_post_meta($post_id,'cp_date_end',true); if ($post_date_end<>''){ $comment_type='persona_notice_end'; $comment_text='Задача №'.$post_id.',закрыта, по всем вопросам обращаться:'.$person_mail; $theme_text='Задача №'.$post_id.',закрыта'; } else{ $comment_type='persona_notice_start'; $comment_text='Зарегистрирована задача №'.$post_id.',по всем вопросам обращаться:'.$person_mail; $theme_text='Зарегистрирована задача №'.$post_id; } // проверим есть ли комментрарий указанного типа, если нет добавим, также запишем мета if (($post_id<>0) and ($post_type=='cases')){ $comment = array ( 'author_email' => '', 'id' => '', 'karma' => '', 'number' => '', 'offset' => '', 'orderby' => '', 'order' => 'DESC', 'parent' => '', 'post_id' => $post_id, 'post_author' => '', 'post_name' => '', 'post_parent' => '', 'post_status' => '', 'post_type' => 'cases', 'status' => '', 'type' => $comment_type, 'user_id' => '', 'search' => '', 'count' => false, 'meta_key' => '', 'meta_value' => '', 'meta_query' => '', ); $comm = get_comments($comment); if ($comm) {return 0;} else { // создаем массив данных нового комментария $commentdata = array( 'comment_post_id' => $post_id, 'comment_author' => 'CasePress', 'comment_author_email' => '', 'comment_author_url' => 'http://', 'comment_content' => $comment_text, 'comment_type' => $comment_type, 'comment_parent' => 0, 'user_id' => '', ); // добавляем комментарий и мета // не происходит ли автосохранение? if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; // не ревизию ли сохраняем? if (wp_is_post_revision($post_id)) return; $headers = "Content-type: text/html; charset=utf-8 \r\n"; $headers .= "From: ". get_bloginfo('name') ." <no-reply@". ltrim(site_url(),'http://') .">\r\n"; $message = "Для того, чтобы просмотреть задачу, перейдите по ссылке <a href='" . get_permalink($post_id) . "'>" . get_permalink($post_id) . "</a>"; $mail_result=wp_mail($person_mail, $theme_text, $message, $headers, $attachments); if ($mail_result){ $comment_id=wp_new_comment($commentdata); add_comment_meta( $comment_id, 'persona_notice-cp-comments-sql', $person_id); } } } } } add_action('save_post', 'CP_PersonNotice');
Просмотр 4 ответов — с 1 по 4 (всего 4)
Просмотр 4 ответов — с 1 по 4 (всего 4)
- Тема «post_id=0 при записи комментария на хук save_post» закрыта для новых ответов.