id = 'email'; $this->label = __( 'Emails', 'propertyhive' ); add_filter( 'propertyhive_settings_tabs_array', array( $this, 'add_settings_page' ), 20 ); add_action( 'propertyhive_sections_' . $this->id, array( $this, 'output_sections' ) ); add_action( 'propertyhive_settings_' . $this->id, array( $this, 'output' ) ); add_action( 'propertyhive_settings_save_' . $this->id, array( $this, 'save' ) ); add_action( 'propertyhive_admin_field_email_queue', array( $this, 'email_queue_setting' ) ); } /** * Get sections. * * @return array */ public function get_sections() { $sections = array( '' => __( 'Email Options', 'propertyhive' ), ); if ( get_option('propertyhive_module_disabled_contacts', '') != 'yes' ) { $sections['log'] = __( 'Email Queue', 'propertyhive' ); } return apply_filters( 'propertyhive_get_sections_' . $this->id, $sections ); } /** * Get settings array. * * @return array */ public function get_settings() { $settings = array( array( 'title' => __( 'Email Sender Settings', 'propertyhive' ), 'type' => 'title', 'id' => 'email_sender_options' ), array( 'title' => __( '"From" Email Address', 'propertyhive' ), 'id' => 'propertyhive_email_from_address', 'type' => 'text', 'css' => 'min-width:300px;', 'default' => get_option('admin_email'), 'autoload' => false, 'desc_tip' => false, ), array( 'type' => 'sectionend', 'id' => 'email_sender_options' ), array( 'title' => __( 'Email Template Settings', 'propertyhive' ), 'type' => 'title', 'id' => 'email_template_options' ), array( 'title' => __( 'Header Image URL', 'propertyhive' ), 'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'propertyhive' ), 'id' => 'propertyhive_email_header_image', 'type' => 'text', 'css' => 'min-width:300px;', 'placeholder' => 'http://', 'default' => '', 'autoload' => false, 'desc_tip' => true, ), array( 'title' => __( 'Email Background Colour', 'propertyhive' ), 'desc' => __( 'The background colour for Property Hive email templates.', 'propertyhive' ), 'id' => 'propertyhive_email_background_color', 'type' => 'color', 'css' => 'width:6em;', 'default' => '#f7f7f7', 'autoload' => false, 'desc_tip' => true, ), array( 'title' => __( 'Body Background Colour', 'propertyhive' ), 'desc' => __( 'The main body background colour.', 'propertyhive' ), 'id' => 'propertyhive_email_body_background_color', 'type' => 'color', 'css' => 'width:6em;', 'default' => '#ffffff', 'autoload' => false, 'desc_tip' => true, ), array( 'title' => __( 'Body Text Colour', 'propertyhive' ), 'desc' => __( 'The main body text colour.', 'propertyhive' ), 'id' => 'propertyhive_email_text_color', 'type' => 'color', 'css' => 'width:6em;', 'default' => '#333333', 'autoload' => false, 'desc_tip' => true, ), array( 'type' => 'sectionend', 'id' => 'email_template_options' ), array( 'title' => __( 'Enquiry Auto Responder Settings', 'propertyhive' ), 'type' => 'title', 'id' => 'enquiry_auto_responder_email_options' ), array( 'title' => __( 'Auto Responder Enabled', 'propertyhive' ), 'id' => 'propertyhive_enquiry_auto_responder', 'type' => 'checkbox', 'default' => '', ), array( 'title' => __( 'Auto Responder Email Subject', 'propertyhive' ), 'id' => 'propertyhive_enquiry_auto_responder_email_subject', 'type' => 'text', 'css' => 'min-width:300px;', ), array( 'title' => __( 'Auto Responder Email Body', 'propertyhive' ), 'id' => 'propertyhive_enquiry_auto_responder_email_body', 'type' => 'textarea', 'css' => 'min-width:300px; height:110px;', ), array( 'type' => 'sectionend', 'id' => 'enquiry_auto_responder_email_options' ) ); if ( get_option('propertyhive_module_disabled_contacts', '') != 'yes' ) { $settings[] = array( 'title' => __( 'Property Match Email Settings', 'propertyhive' ), 'type' => 'title', 'id' => 'applicant_match_email_options' ); $settings[] = array( 'title' => __( 'Default Email Subject', 'propertyhive' ), 'id' => 'propertyhive_property_match_default_email_subject', 'type' => 'text', 'css' => 'min-width:300px;', ); $settings[] = array( 'title' => __( 'Default Email Body', 'propertyhive' ), 'id' => 'propertyhive_property_match_default_email_body', 'type' => 'textarea', 'css' => 'min-width:300px; height:110px;', ); $options = array(); $args = array( 'hide_empty' => false, 'parent' => 0 ); $terms = get_terms( 'availability', $args ); if ( !empty( $terms ) && !is_wp_error( $terms ) ) { foreach ($terms as $term) { $options[$term->term_id] = $term->name; } } $settings[] = array( 'title' => __( 'Only Include Properties With Statuses', 'propertyhive' ), 'id' => 'propertyhive_property_match_statuses', 'type' => 'multiselect', 'css' => 'min-width:300px; height:110px;', 'options' => $options, 'desc' => '
' . __( 'By default, all on market properties will come back in matches when sending properties to applicants. If you wish to only send properties with a certain status you can choose this here. For example, maybe you don\'t want Sold STC properties to be sent. Hold ctrl/cmd whilst clicking to select multiple.', 'propertyhive' ) . '
', ); $settings[] = array( 'title' => __( 'Automatically Send Matching Properties To Applicants', 'propertyhive' ), 'desc' => __( 'Enabling this setting will mean applicants will automatically get sent emailed properties as they\'re added.Some processes, such as property matching, can result in a lot of emails being sent at once. To cater for this we queue emails and send them out in batches at regular intervals.
Using this screen you can see which emails have been sent, which have failed, and how many are queued to be sent.
| send_at)); ?> | contact_id) . '">' . get_the_title($email->contact_id) . ' ' . $email->to_email_address; ?> |
subject; ?> | status) { case "fail1": { echo 'First attempt failed. Will retry'; break; } case "fail2": { echo 'Failed after 2 attempts'; break; } case "sent": { echo 'Sent'; break; } default: { echo 'Queued'; } } ?> | View Email |
| No emails found | ||||