web-dev-qa-db-fra.com

Mécanisme pour envoyer aux utilisateurs de WordPress sécurisé installer de nouvelles notifications par SMS ou email?

J'ai un site Web familial, privé, nécessite un compte WordPress, dans WordPress. Certains membres de ma famille souhaiteraient avoir la possibilité de notifier les nouveaux messages par courrier électronique ou par message texte.

Le courrier électronique semble assez facile, il existe des plugins et des services pour cela.

Mais je suis préoccupé par les messages texte, car nous sommes dispersés géographiquement. J'aimerais avoir la possibilité de mettre les messages en file d'attente de manière à ce qu'ils ne soient envoyés aux utilisateurs que quelques heures plus tard.

Les services externes ou basés sur le format RSS ne conviennent pas, car les flux RSS ne sont pas publics et j'aimerais que cela reste ainsi.

Existe-t-il un plugin adapté à ces exigences spécifiques?

1
artlung

Je dirais qu'il y a trois exigences spécifiques ici;

  1. Autoriser les utilisateurs à choisir les heures de notification et les fuseaux horaires
  2. Connectez-vous à transition_post_status pour écouter les nouveaux messages, puis passez à l'action.
  3. Trouver une API SMS décente

Pour 1), raccordez-le à show_user_profile pour générer votre ou vos champs de sélecteur de temps et à personal_options_update pour les enregistrer.

Vous pourriez détecter automatiquement le fuseau horaire de l'utilisateur, via une adresse IP ou JavaScript, mais je vous recommanderais simplement un <select /> lui permettant de choisir ses paramètres régionaux manuellement (voir wp-admin/options-general.php, lignes 138 à 250 pour la façon dont WordPress génère une sélection de fuseau horaire).

Quant à 2), consultez mon autre réponse sur nouvelle notification de publication . Vous voudrez évidemment modifier cela pour avertir tous vos utilisateurs (par opposition à seulement l'administrateur), mais cela devrait vous aider à bien démarrer.

Enfin 3), à moins que vous ne trouviez une API SMS où vous pouvez spécifier l’heure à laquelle le message est envoyé, vous devrez tirer parti de WP Cron . Plutôt que de définir un événement pour chaque utilisateur, je vous conseillerais de configurer un événement horaire, qui recherche simplement tous les utilisateurs qui doivent maintenant être avertis et déclenche un SMS demande.

3
TheDeadMedic