質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

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

PHP

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

Q&A

0回答

263閲覧

Wordpress 寄稿者が投稿を作成したら、編集者へメール通知したい

sajirari

総合スコア11

WordPress

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

PHP

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

0グッド

0クリップ

投稿2022/05/24 04:37

寄稿者が投稿を作成したら、編集者へメール通知したいのですが、うまくいきません。

導入したいサイトが2サイトあり、1つはうまくいきました。
そのfunction.phpに記載したものをコピペしてきたのですが、できませんでした。

そもそも、うまくいった方は、投稿画面でボタンが「公開」になっており、
押すと「編集者へ通知します」のようなメッセージが出ます。

うまくいっていない方は、ボタンが「レビュー待ちで送信」になっており、
押すと下書き保存にはなりますが、メール通知はされません。

どちらもプラグインは使用せず、function.phpで作成したのですが、どこに問題があるのか分かりません。
どなたか、ご教授お願いできませんでしょうか。

PHP

1/* 寄稿ががメディアアップできる&他ユーザーの画像は非表示 --------------------------------------- */ 2if ( current_user_can('contributor') && !current_user_can('upload_files') ){ 3 add_action('admin_init', 'allow_contributor_uploads'); 4} 5 6function allow_contributor_uploads() { 7 $contributor = get_role('contributor'); 8 $contributor->add_cap('upload_files'); 9} 10function display_only_self_uploaded_medias( $query ) { 11 if ( $user = wp_get_current_user() ) { 12 $query['author'] = $user->ID; 13 } 14 return $query; 15} 16add_action( 'ajax_query_attachments_args', 'display_only_self_uploaded_medias' ); 17 18/* 寄稿が記事を書いたら編集者へメール --------------------------------------- */ 19function adminmail_pending( $new_status, $old_status, $post ) { 20 if ( $old_status != 'pending' && $new_status == 'pending' ) { 21 $blogname = get_option('blogname'); 22 $post_title = $post->post_title; 23 $subject = $blogname." にて承認待ちの記事が投稿されています(".$post_title.")"; 24 $message = "記事".$post_title."が承認待ちです。\r\n"; 25 $message .= "\r\n"; 26 $message .= "記事の承認URLは下記となります: \r\n"; 27 $message .= wp_specialchars_decode(get_edit_post_link( $post->ID ), ENT_QUOTES) . "\r\n"; 28 29 //編集者のメールアドレスを取得し編集者全員にメールを送ります 30 $args= array('role' => 'editor'); 31 $users= get_users($args); 32 $editor_mails=array(); 33 if(sizeof($users)>0){ 34 foreach($users as $user){ 35 $mail= esc_html($user->user_email); 36 array_push($editor_mails,$mail); 37 } 38 } 39 if(sizeof($editor_mails)>0){ 40 for($i=0; $i<sizeof($editor_mails); $i++){ 41 $to = $editor_mails[$i]; 42 $r = wp_mail( $to, $subject, $message ); 43 } 44 } 45 46 47 } 48} 49add_action( 'transition_post_status', 'adminmail_pending', 10, 3 );

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問