Ich möchte Push-Benachrichtigungen senden, nachdem Sie einen neuen Beitrag veröffentlicht haben

Ich möchte Push-Nachrichten von meiner Website an iOS / Android-Nutzer senden, jedes Mal wenn ich einen neuen Beitrag veröffentliche. Was wäre das gleiche wie PHP Code ausführen, denke ich. Ich habe versucht, ein PHP-Skript einzufügen, die eine Push-Nachricht an mein iOS-Gerät senden, jedes Mal wenn ich es starte, aber ohne Erfolg. Ich habe den PHP-Code direkt nach diesem Code eingefügt

<?php if( have_posts() ): get_template_part( 'templates/content/content', str_replace('bw_pt_', '', get_post_type() ) );

In der Datei single.php im Wort press-> Appearance-> editor. Sowie ich habe die ck.pem Datei in den gleichen Ordner hochgeladen. Dies ist mein PHP-Code und wenn ich es vom Terminal aus starte, funktioniert es gut. Was ich brauche, ist einige benutzerdefinierte Code hinzufügen, die eine Abrufdatenbank sein würde, um alle Geräte zu sehen und eine Push-Benachrichtigung für jedes Gerät zu senden. Ich werde den Code später machen, für den Moment muss ich wissen, wo ich diesen Code ablegen muss, um jedes Mal ausgeführt zu werden, wenn der Admin den Knopf zum Veröffentlichen des neuen Eintrags drückt.

Das ist mein PHP-Code:

   $message, 'sound' => 'default' ); // Encode the payload as JSON $payload = json_encode($body); // Build the binary notification $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload; // Send it to the server $result = fwrite($fp, $msg, strlen($msg)); if (!$result) echo 'Message not delivered' . PHP_EOL; else echo 'Message successfully delivered' . PHP_EOL; // Close the connection to the server fclose($fp); ?> 

Solutions Collecting From Web of "Ich möchte Push-Benachrichtigungen senden, nachdem Sie einen neuen Beitrag veröffentlicht haben"

Wickeln Sie es in eine function und haken Sie es an transition_post_status :

 function wpse_18140_transition_post_status( $new, $old, $post ) { if ( $new === 'publish' && $new !== $old ) { // Your code here } } add_action( 'transition_post_status', 'wpse_18140_transition_post_status', 10, 3 ); 

Dies wird jedes Mal ausgeführt, wenn ein Beitrag veröffentlicht wird , aber nicht, wenn Sie einfach den Post-Inhalt aktualisieren.