「アップデート」タグアーカイブ

トラックバック、ピンバック、コメントの通知メール内容を変更 WordPress BuddyPressカスタマイズメモ

トラックバック、ピンバック、コメントの通知メール内容を変更

WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。

コメントがついた時に、投稿者にコメントが来たという通知メールが届く。

そこにIPアドレスが表示されたり、著者のURLや、コメントを書いた人のメールアドレスが表示される。

投稿者にIPメールアドレスなどは知らせる必要はないのでこれを削除したい。

ということで、メールの内容変更する。
 

functions.php へ記述

そこにIPアドレスが表示されたり、著者のURLや、コメントを書いた人のメールアドレスが表示される。

投稿者にIPメールアドレスなどは知らせる必要はないのでこれを削除したい。

// トラックバック、ピンバック、コメントの通知メールの内容を変更する

function custom_comment_moderation_text( $notify_message, $comment_id ) {
 global $wpdb;
 $comment = get_comment($comment_id);
 $post = get_post($comment->comment_post_ID);
 $comment_author_domain = @gethostbyaddr($comment->comment_author_IP);
 $comments_waiting = $wpdb->get_var("SELECT count(comment_ID) FROM $wpdb->comments WHERE comment_approved = '0'");
 $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
 $comment_content = wp_specialchars_decode( $comment->comment_content );
 switch ( $comment->comment_type ) {
  case 'trackback': // トラックバック
  $notify_message = "「{$post->post_title}」に新しいトラックバックがありました。\r\n";
  $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
  $notify_message .= "\r\n";
  $notify_message .= "トラックバック元: {$comment->comment_author}\r\n";
  //$notify_message .= "IP: {$comment->comment_author_IP} ({$comment_author_domain})\r\n";
  //$notify_message .= "URL: {$comment->comment_author_url}\r\n";
  $notify_message .= "トラックバックの概要: \r\n";
  $notify_message .= "{$comment_content}\r\n";
  $notify_message .= "\r\n";
  break;
 case 'pingback': // ピンバック
  $notify_message = "「{$post->post_title}」に新しいピンバックがありました。\r\n";
  $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
  $notify_message .= "\r\n";
  $notify_message .= "ピンバック元: {$comment->comment_author}\r\n";
  //$notify_message .= "IP: {$comment->comment_author_IP} ({$comment_author_domain})\r\n";
  //$notify_message .= "URL: {$comment->comment_author_url}\r\n";
  $notify_message .= "ピンバックの概要: \r\n";
  $notify_message .= "{$comment_content}\r\n";
  $notify_message .= "\r\n";
  break;
 default: // コメント
  $notify_message = "「{$post->post_title}」に新しいコメントがありました。\r\n";
  $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
  $notify_message .= "\r\n";
  $notify_message .= "投稿者: {$comment->comment_author}\r\n";
  //$notify_message .= "IP: {$comment->comment_author_IP} ({$comment_author_domain})\r\n";
  //$notify_message .= "メールアドレス: {$comment->comment_author_email}\r\n";
  //$notify_message .= "URL: {$comment->comment_author_url}\r\n";
  $notify_message .= "コメント: \r\n";
  $notify_message .= "{$comment_content}\r\n";
  $notify_message .= "\r\n";
  break;
 }
 return $notify_message;
}
add_filter( 'comment_moderation_text', 'custom_comment_moderation_text', 10, 2 );
add_filter( 'comment_notification_text', 'custom_comment_moderation_text', 10, 2 );

これで、コメント承認通知メールと、コメントがつけられた時の通知メールの、内容を変更してIPアドレスなどを表示しないようにする。

しかし、実は、問題があり、
通知メールに「返信」した時には、コメントをくれた人のメールアドレスへの返信となってしまう

メールヘッダーに reply-to 要素に、コメントを書いた人のメールアドレスが入っているからだ。

これを変更するには下記関連記事の、メールに返信した時にコメントを書いた人のメールアドレスが出ないようにする を参照。

関連記事:
・コメント通知メールの差出人(wordpress@yourdomain.com)のメールアドレスを変更

・メールに返信した時にコメントを書いた人のメールアドレスが出ないようにする(Better Notifications for WordPressの設定の問題点を修正するため、管理画面で特定のページの時のみ、jsを上書きする)

WordPress本体やプラグインのアップデート通知を非表示 WordPress BuddyPressカスタマイズメモ

WordPress本体のバージョンや、プラグインのアップデートの通知を非表示にする方法

 
WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。

できるだけシンプルにしたい。

管理者以外には、Wordpress本体のバージョンアップやプラグインのアップデート通知を非表示にしたい。

functions.php へ記述

//本体のアップデート通知を非表示

if (!current_user_can('administrator')) {
add_filter('pre_site_transient_update_core', create_function('$a', "return  null;"));
}

“管理者”でもメニューを削除したい場合は、一番上と一番下の

if (!current_user_can('administrator')) {

}

を削除すればいい。

【解決済み】ZenfoneなどでPlayストアが「ダウンロード中」から動かない場合の対処法

GoogleのPlay Storeで、突然新しいアプリがダウンロードできなくなった

ASUSのゼンフォンシリーズは動作も安定していてバッテリーも長持ち。
なにより安いので人気のスマホ。

Zenfone 3, Zenfone 4, Zenfone 4 MAX, Zenfone 5, Zenfone max M1, Zenfone Laser, Zenfone max plusで確認されるバグ。
(もしかしてゼンフォン全部?)

ちなみにGoogleの公式ヘルプなどで、紹介されている解決方法は全く役に立たない

ダメだった解決法

4Gの場合はWi-Fi接続に切り替える
 → 元々WiFiだし、複数のWiFi環境で試し済みで無理。
・Play ストアのキャッシュとデータを削除する
 → やったけどダメ。
・端末を再起動する
 → 何回やってもダメ。
・ストレージの空き容量を確認する
 → たっぷり。
・SD カードを確認する
 → そもそも入れてない。
・ダウンロード マネージャーからキャッシュとデータを削除する
 → 何回やってもダメ。
・Google Play 開発者サービスからキャッシュとデータを削除する
 → 効果なし。
・Play ストアのアップデートをアンインストールして再インストールする
 → 効果なし。
・Android システムのアップデートを確認する
 → 元々最新。ちなみに、ダウングレードしてもダメだった。
・端末から Google アカウントを削除して再度追加する
 → 効果なし。
 

というわけで解決法

ASUSのスマホのアプリの「自動起動マネージャー」をオフにすると解消される。

ZenFoneの、「本体設定の歯車」→「電力管理」→「自動マネージャー」→「すべてのアプリ」をオフにする。

これだけで、後は普通にPlayストアからダウンロードもアップデートも可能になる。

※ 元々オフの場合は、一旦「すべてのアプリ」をオンにしてから、すぐにオフにするとダウンロードが開始される。