AnsPress_Email_Hooks::ap_after_update_answer( $answer_id, object $answer )
Description #
Notify users after answer gets updated.
Parameters #
- $answerobject (Required) Answer object.
- $eventstring (Required) Event type.
Source #
File: addons/free/email.php
public static function ap_after_update_answer( $answer_id, $answer ) {
if ( in_array( $answer->post_status, [ 'trash', 'draft' ] ) ) {
return;
}
$current_user = wp_get_current_user();
$args = [];
$admin_emails = self::get_admin_emails( 'email_admin_edit_answer' );
if ( ! empty( $admin_emails ) ) {
$args['users'] = $admin_emails;
}
$email = new Email( 'edit_answer', $args );
$a_subscribers = (array) ap_get_subscribers( [ 'subs_events' => 'answer_' . $answer->post_parent ] );
$q_subscribers = (array) ap_get_subscribers( [ 'subs_event' => 'question', 'subs_ref_id' => $answer->post_parent ] );
$subscribers = array_merge( $a_subscribers, $q_subscribers );
$post_author = get_user_by( 'id', $answer->post_author );
if ( ! 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,
) );
$email->send_emails();
}
Expand full source code Collapse full source code View on GitHub: addons/free/email.php:491
Add your comment