🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

1回答

1105閲覧

【WordPress】Subscribe2で既存記事更新時に通知を送りたい

hamupan

総合スコア7

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2019/11/28 08:13

編集2019/11/28 08:18

前提・実現したいこと

初めて質問させていただきます。
WordPressの更新通知を送る設定を、プラグインSubscribe2を使ってしているのですが、
記事の新規作成時は通知されるのですが、既存記事を編集して更新した際には通知が届きません。
既存記事の編集時にも、通知を送るようにすることは可能でしょうか?

試したこと

Subscribe2の設定画面は全て見ましたが、その設定ができる部分はないようでした。

該当のソースコード

PHP

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

既存記事は一旦下書きにしてから公開してください。

投稿2019/11/29 03:05

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hamupan

2019/11/29 10:19 編集

ご回答ありがとうございます。 なるほど…確かに一度下書き保存したあと公開すると、通知が届きました。 ちなみにどうにかこれを自動化することはできないでしょうか? クライアントのサイトで、下書き保存を毎回強制する手間もあり、また忘れるリスクもありますので、どうにかならないかと思案しております。 日付を変えたら通知が飛べば理想なのですが・・・ 何卒よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2019/11/29 10:35

日付で判定してというのは難があると思います。 記事公開後、数日経過して誤字を見つけて管理画面から修正したら購読者にメールを送信してしまいます。 任意のメタボックス等を設けた上でカスタムフィールドを用いてメール送信の有無を設定できるような仕組みにした方が無難ではないかとおもいます
hamupan

2019/11/29 10:54 編集

ありがとうございます。 すみませんが、もう少しお付き合いいただければ幸いです。 こちらを使用している目的ですが、店舗が記事を新規公開もしくは修正して公開した際に、上長のメールアドレスに確認用の通知が飛ぶようにしたいのです。 ですので本来のメルマガという目的とは違うため、 >記事公開後、数日経過して誤字を見つけて管理画面から修正したら購読者にメールを送信してしまいます。 こちらの挙動でも弊社の場合、問題ありません。 以前までは、Draft Notificationというプラグインで既存記事の編集時もメールを飛ばせていたのですが、 WPのアップデートで使えなくなってしまいました。 色々と最適なプラグインを探したのですが見つからず… 何か良い案があったりしないでしょうか?
退会済みユーザー

退会済みユーザー

2019/11/29 14:54

プラグインにs2_post_statusesというフックが用意されていて、これを用いれば良いのですが実は動きません。 https://subscribe2.wordpress.com/support/api/ 力技ですがsubscribe2/classes/class-s2-core.phpの1880行目 $statuses = apply_filters( 's2_post_statuses', array( 'new', 'draft', 'auto-draft', 'pending' ) ); を $statuses = apply_filters( 's2_post_statuses', array( 'new', 'draft', 'auto-draft', 'pending', 'publish' ) ); のようにしてしまえば更新ボタンを押す度にメールを送りますが、プラグインをアップデートする度に書き換える必要があります。 店舗ということはユーザーとして店舗が存在するのでしょうか。 メールを送信できれば良いだけならばプラグインを使わずとも短いコードで要望は実現可能に思います。
hamupan

2019/11/30 05:30 編集

ありがとうございます! いただいた力技を試したところ、通知が成功しました。大変ありがたいです…! >店舗ということはユーザーとして店舗が存在するのでしょうか。 はい、ユーザーとして各店舗アカウントが存在します。 今回やりたいのは、 ・店舗Aが更新 → エリア長のSさんに通知 ・店舗Bが更新 → エリア長のSさんに通知(エリア長は複数管理していることもあります)  ・店舗Cが更新 → エリア長のTさんに通知 ・店舗Dが更新 → エリア長のUさんに通知 という具合に、通知を送りたいと思っております。 エリア長のメールアドレスもユーザーに追加することも可能です。 >メールを送信できれば良いだけならばプラグインを使わずとも短いコードで要望は実現可能に思います。 このような場合、コードで実現可能なのでしょうか? 質問続きで恐れ入りますが、何卒よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2019/11/30 08:54

>エリア長のメールアドレスもユーザーに追加することも可能 追加という事の意味が何を指すのかですが、通常はユーザー毎に登録可能なメールアドレスは1つです。 1つという前提で考えればpublish_{$posttype}に引っかけて get_the_author_meta()で投稿者のメールアドレスを取得して wp_mail()でそのメールアドレス宛にメールを送信 という流れで可能でプラグインも不要です。 文脈から勝手に推測するとget_user_meta()等も必要なのかと思われますが。
hamupan

2019/12/02 07:19 編集

ご連絡遅くなってしまい、申し訳ありません。 >エリア長のメールアドレスもユーザーに追加することも可能 失礼しました、追加というのは誤解を招く表現でした。 単純に「エリア長もユーザーに存在する」という意味です。 ヒントいただきありがとうございます。 実はプログラミングについては素人でして、いただいたヒントを自力で繋ぎ合わせることが残念ながら出来ないのですが、今後勉強していきたいと思います。 もし、今回のこのコードを作る上での更なるヒントか何かがありましたら、ご教示いただければ幸いです。
hamupan

2019/12/03 12:18

参考にさせていただきます! 今回ご回答いただいていなかったら何も進みませんでした。本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問