suchen
Heimphp教程php手册在主题函数直接修改系统邮件通知

在主题函数直接修改系统邮件通知

Jun 06, 2016 pm 08:09 PM
主题修改函数系统自带通知邮件

修改wp自带的发送给管理员的评论通知邮件,不用动系统文件 原始方法: 修改系统文件wp-includes/pluggable.php中的 wp_notify_postauthor 函数 高端方法: 添加自定义function,挂钩到原函数 by小蝴蝶 相关的钩子: comment_notification_text 基本思路 function

修改wp自带的发送给管理员的评论通知邮件,不用动系统文件

  1. 原始方法: 修改系统文件wp-includes/pluggable.php中的wp_notify_postauthor函数
  2. 高端方法: 添加自定义function,挂钩到原函数 by小蝴蝶
  3. 相关的钩子: comment_notification_text
  4. 基本思路
  5. function xhd_mail2admin( $notify_message, $comment_id ) {
    //CODE
    }
    add_filter( 'comment_notification_text', 'xhd_mail2admin', 10, 2 );

进阶教程

实现效果: 增加了PR和IP归属地,对原有一些累赘的参数进行了删减,去掉了WHOIS,修改了查看评论的固定链接格式
首先扔一段pr查询解码的函数,具体原理见我以前写过的这篇欢迎访客之显示对方网站PR

function app_hash_url($url) {
$seed = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE.";
$hash = 0x01020345;
for ($i=0; $i<strlen ord>> 23) & 0x1FF) | $hash 
<p>然后是主代码</p>
<pre class="brush:php;toolbar:false"> 
function xhd_mail2admin( $notify_message, $comment_id ) {
	/* wp_notify_postauthor原有参数 */
	$comment = get_comment( $comment_id );
	$post    = get_post( $comment->comment_post_ID );
	$author  = get_userdata( $post->post_author );
	if ( $comment->user_id == $post->post_author )
		return false;
	if ( $post->post_author == get_current_user_id() )
		return false;
	if ( '' == $author->user_email )
		return false;
	$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
	/* ip归属地的api */
	$IPURL  = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$comment->comment_author_IP;
	$json = file_get_contents($IPURL);
	$json = json_decode($json, true);
	$json = $json["country"].$json["province"].$json["city"].$json["district"].$json["isp"];
	/* 邮件正文 */
	$notify_message  = sprintf( __( 'New comment on your post "%s"' ), $post->post_title ) . "\r\n";
	$notify_message .= sprintf( __('Author : %s '), $comment->comment_author ) . "\r\n";
	$notify_message .= sprintf( __('IP: %1$s ( %2$s) '), $json,  $comment->comment_author_IP ) . "\r\n";
	//如果担心调用IP归属地造成评论提交变慢,可以把上一行改成下一行,注释去掉
	//$notify_message .= sprintf( __('IP: %s '), $IPURL ) . "\r\n";
	$notify_message .= sprintf( __('E-mail : %s'), $comment->comment_author_email ) . "\r\n";
	$notify_message .= sprintf( __('网站: %s'), $comment->comment_author_url ) . "\r\n";
	/* PR */
	$domain1 = $comment->comment_author_url ;
	$domain=substr($domain1,7);
	$startUrl = "http://toolbarqueries.google.com/tbr?client=navclient-auto&features=Rank&q=info:";
	$resultUrl = $startUrl.$domain."&ch=".app_hash_url($domain); 
	$array = get_headers($resultUrl,1); 
	if(!preg_match('/403/',$array[0])){
		$pageContent = file_get_contents($resultUrl);
		$pageRank = substr($pageContent,9);
 		$notify_message .= sprintf( __('PR: %s'), $pageRank ) . "\r\n";
	} else {
		$notify_message .= __('PR:0 ') . "\r\n";
	}
		$notify_message .= __('Comment: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
	$notify_message .= sprintf( __('Permalink: %s'), get_comment_link($comment) ) . "\r\n";//修改了原本的格式,原格式不能精确跳转到评论位置
	if ( EMPTY_TRASH_DAYS )
		$notify_message .= sprintf( __('Trash it: %s'), admin_url("comment.php?action=trash&c=$comment_id") ) . "\r\n";
	else
		$notify_message .= sprintf( __('Delete it: %s'), admin_url("comment.php?action=delete&c=$comment_id") ) . "\r\n";
	$notify_message .= sprintf( __('Spam it: %s'), admin_url("comment.php?action=spam&c=$comment_id") ) . "\r\n";
	return $notify_message;
}
add_filter( 'comment_notification_text', 'xhd_mail2admin', 10, 2 );

效果如图:

修改系统邮件通知效果 仅供娱乐,么么哒

美化下一篇写
Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools