app_id = $fields['app_id']; $body->headings = array('en' => $post->post_title); $body->contents = array('en' => $fields['headings']['en'].' New Article'); $body->included_segments = $fields['included_segments']; // $body->filters = array('All'); // ["Active Users", "Inactive Users"] // $body->filters = array(array('field' => 'tag', 'key' => 'authorID', 'relation' => '=', 'value' => '54')); $body->isAndroid = true; $body->isIos = true; $body->isAnyWeb = false; $body->isWP = false; $body->isAdm = false; $body->isChrome = false; $body->data->wordpress_url = $fields['url']; $body->data->post_id = $post->ID; $bodyAsJson = json_encode($body); /* Plugin Call = OneSignal::get_onesignal_settings(); */ $onesignal_wp_settings = OneSignal::get_onesignal_settings(); $onesignal_auth_key = $onesignal_wp_settings['app_rest_api_key']; $response = wp_remote_post( "https://onesignal.com/api/v1/notifications", array( 'method' => 'POST', 'timeout' => 60, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => true, 'sslverify' => false, 'headers' => array("Content-type" => "application/json", "Authorization" => "Basic ".$onesignal_auth_key), 'body' =>$bodyAsJson, ) ); $response_headers = wp_remote_retrieve_headers( $response ); $body = wp_remote_retrieve_body( $response ); $response_code = wp_remote_retrieve_response_code( $response ); // Cancel the notification from being sent via original plugin // $fields['do_send_notification'] = false; // unset url so that web notications is not sent // unset($fields['url']); return $fields; } } add_filter('onesignal_send_notification', array( 'AppiFire', 'appifire_onesignal_send_notification_filter'), 10, 4); ?>