Email::ap_after_update_answer( int $answer_id, object $answer )
Description #
Notify users after answer gets updated.
Parameters #
- $answer_idint (Required) Answer id.
- $answerobject (Required) Event post object.
Source #
File: addons/email/email.php
public function ap_after_update_answer( $answer_id, $answer ) {
if ( in_array( $answer->post_status, array( 'trash', 'draft' ), true ) ) {
return;
}
$current_user = wp_get_current_user();
$args = array();
$admin_emails = $this->get_admin_emails( 'email_admin_edit_answer' );
if ( ! empty( $admin_emails ) ) {
$args['users'] = $admin_emails;
}
$email = new EmailHelper( 'edit_answer', $args );
$a_subscribers = (array) ap_get_subscribers( array( 'subs_event' => 'answer_' . $answer->post_parent ) );
$q_subscribers = (array) ap_get_subscribers(
array(
'subs_event' => 'question',
'subs_ref_id' => $answer->post_parent,
)
);
$subscribers = array_merge( $a_subscribers, $q_subscribers );
// Exclude current post author email.
if ( ! empty( $answer->post_author ) ) {
$post_author = get_user_by( 'id', $answer->post_author );
if ( $post_author && ! ap_in_array_r( $post_author->data->user_email, $subscribers ) &&
$current_user->user_email !== $post_author->data->user_email ) {
$email->add_email( $post_author->data->user_email );
}
}
foreach ( (array) $subscribers as $s ) {
if ( ap_user_can_view_post( $answer ) && ! empty( $s->user_email ) &&
$s->user_email !== $current_user->user_email ) {
$email->add_email( $s->user_email );
}
}
$email->add_template_tags(
array(
'answerer' => ap_user_display_name( $answer->post_author ),
'editor' => ap_user_display_name( get_current_user_id() ),
'question_title' => $answer->post_title,
'answer_link' => get_permalink( $answer->ID ),
'answer_content' => $answer->post_content,
'answer_excerpt' => ap_truncate_chars( wp_strip_all_tags( $answer->post_content ), 100 ),
)
);
$email->send_emails();
}
Expand full source code Collapse full source code View on GitHub: addons/email/email.php:544
Add your comment