wordpress主题的修改与功能增强

幻灯片 cyanprobe 10年前 (2014-11-01) 3535次浏览 已收录 0个评论

wordpress主题的修改与功能增强

fangker对小v模版的修改

1.增加评论可见(在function.php中添加)

 

/*
* 隐藏部分内容 评论后可见
*/
function reply_to_read($atts, $content=null) {
extract(shortcode_atts(array(“notice” => ‘<p class=”reply-to-read”>提示: 此处内容需要<a href=”#respond” title=”评论本文”>评论本文</a>后才能查看.</p>’), $atts));//notice默认值
$email = null;
$user_ID = (int) wp_get_current_user()->ID;
if ($user_ID > 0) {
$email = get_userdata($user_ID)->user_email;
$admin_email = “fkwebs@163.com”; //博主Email
if ($email == $admin_email) {//若是博主则直接显示内容
return ‘<p class=”reply-to-read” style=”background:no-repeat”>’.$content.'</p>’;
}
} else if (isset($_COOKIE[‘comment_author_email_’ . COOKIEHASH])) {
$email = str_replace(‘%40’, ‘@’, $_COOKIE[‘comment_author_email_’ . COOKIEHASH]);
} else {
return strpos($notice,’提示: 此处内容需要’) ? $notice : ‘<p class=”reply-to-read” title=”此处内容需要评论本文后才能查看.”>提示: ‘.$notice.'</p>’;//未检测到评论信息(昵称、网站等)。不是博主,且未评论
}
if (emptyempty($email)) {
return ‘TEST CODE:111′.$notice;//无email
}
global $wpdb;
$post_id = get_the_ID();
$query = “SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$post_id} and `comment_approved`=’1′ and `comment_author_email`='{$email}’ LIMIT 1″;
if ($wpdb->get_results($query)) {
return ‘<p class=”reply-to-read” style=”background:no-repeat”>’.do_shortcode($content).'</p>’;//若已评论
} else {
return strpos($notice,’提示: 此处内容需要’) ? $notice : ‘<p class=”reply-to-read” title=”此处内容需要评论本文后才能查看.”>提示: ‘.$notice.'</p>’;//已评论其他,未评论此文章
}
}
add_shortcode(‘reply’, ‘reply_to_read’);

紧接着,在style.css 添加:

/**评论锁**/
.reply-to-read {
overflow: hidden;
margin: 10px 0;
padding: 8px 8px 8px 24px;
border: 1px dashed hsl(0, 100%, 80%);
background: hsl(0, 100%, 100%) url(http://cyanprobe.com/wp-content/themes/Anenv/images/locked.gif) no-repeat 6px 50%;
font-size: 12px;
zoom: 1;
}

2.添加stmp协议无需mail函数支持(解决发信失败)

/*stmp*/
function mail_smtp( $phpmailer ){
$phpmailer->From = “fkwebs@163.com”; //发件人
$phpmailer->FromName = “方块网络”; //发件人昵称
$phpmailer->Host = “smtp.163.com”; //SMTP服务器地址
$phpmailer->Port = 25; //SMTP端口,常用的有25、465、587,具体谷歌百度
$phpmailer->SMTPSecure = “”; //SMTP加密方式,常用的有SSL/TLS,具体谷歌百度
$phpmailer->Username = “fkwebs@163.com”; //邮箱帐号
$phpmailer->Password = ******; //邮箱密码(方块就用星号代替了)
$phpmailer->IsSMTP(); //使用SMTP发送
$phpmailer->SMTPAuth = true; //启用SMTPAuth服务
}
add_action(‘phpmailer_init’,’mail_smtp’);
/*移除版本号*/
remove_action ( ‘pre_post_update’, ‘wp_save_post_revision’ );
?>

并且移除了wordpress版本号出于安全考虑

3.对css文章引用区块进行了修改

css修改 cms2
 
通过Google Chrome 元素审查对灰色引用进行了颜色改变。

4。发信评论回复美化(在function.php中添加)

//评论回复邮件通知(所有回复都邮件通知)
function comment_mail_notify($comment_id) {
$comment = get_comment($comment_id);
$parent_id = $comment->comment_parent ? $comment->comment_parent : ”;
$spam_confirmed = $comment->comment_approved;
if (($parent_id != ”) && ($spam_confirmed != ‘spam’)) {
$wp_email = ‘no-reply@’ . preg_replace(‘#^www\.#’, ”, strtolower($_SERVER[‘SERVER_NAME’])); //e-mail 发出点, no-reply 可改为可用的 e-mail.
$to = trim(get_comment($parent_id)->comment_author_email);
$subject = ‘您在 [‘ . get_option(“blogname”) . ‘] 的留言有了回复’;
$message = ‘
<div style=”background:#fff;zoom:1;position:relative;z-index:1;margin:50px auto;”><table width=”556″ cellspacing=”0″ cellpadding=”0″ border=”0″ align=”center” style=”margin: 0 auto; font: normal 12px/1 微软雅黑,Tahoma,Helvetica,Arial,sans-serif; background: #fff; line-height: 20px;”><tbody><tr><td height=”115″ background=”http://apps.qiniudn.com/cloud-mail/header.jpg”><div style=”padding: 0 30px 40px;”><h2 style=”color:#fff;font-size:14px;font-weight:normal;padding:0;”><span style=”color: #ED5224″>&gt;&nbsp;</span>您在&nbsp;<a style=”text-decoration:none;color: #ED5224;” href=”‘ . get_option(‘home’) . ‘” title=”‘ . get_option(‘blogname’) . ‘” target=”_blank”>’ . get_option(‘blogname’) . ‘</a>&nbsp;中的留言有回复啦!</h2></div></td></tr><tr><td valign=”top” background=”http://apps.qiniudn.com/cloud-mail/body.jpg&#8221; style=”padding: 0 25px;”><table width=”100%”><tbody><tr><td><div style=”font-size:12px;color:#777;padding:0px 6px 1px;”>’ . trim(get_comment($parent_id)->comment_author) . ‘&nbsp;同学,您曾在《&nbsp;’ . get_the_title($comment->comment_post_ID) . ‘&nbsp;》中发表评论:</p><p style=”color: #777;border: 1px solid #DDD;padding: 5px 8px 5px 8px;background-color: #FCFCFC;border-radius: 3px 3px 3px 3px;font-size: 12px;line-height: 22px;font-family: Consolas,Courier,minispace,Lucida Console;”>’ . nl2br(get_comment($parent_id)->comment_content) . ‘</p><!–fkwebs原创–><p>’ . trim($comment->comment_author) . ‘&nbsp;给您的回复如下:</p><p style=”color: #777;border: 1px solid #DDD;padding: 5px 8px 5px 8px;background-color: #FCFCFC;border-radius: 3px 3px 3px 3px;font-size: 12px;line-height: 22px;font-family: Consolas,Courier,minispace,Lucida Console;”>’ . nl2br($comment->comment_content) . ‘</p><p>您可以点击&nbsp;<a style=”text-decoration:none; color:#12addb” href=”‘ . htmlspecialchars(get_comment_link($parent_id)) . ‘” title=”单击查看完整的回复内容” target=”_blank”>&nbsp;查看完整的回复內容</a>,欢迎回访&nbsp;<a style=”text-decoration:none; color:#12addb” href=”‘ . get_option(‘home’) . ‘” title=”‘ . get_option(‘blogname’) . ‘” target=”_blank”>’ . get_option(‘blogname’) . ‘</a>&nbsp;!</p></div></td></tr></tbody></table></td></tr><tr><td height=”15″ background=”http://apps.qiniudn.com/cloud-mail/footer.jpg”></td></tr></tbody></table></div&gt;
</div>’;
$message = convert_smilies($message);
$from = “From: \”” . get_option(‘blogname’) . “\” <$wp_email>”;
$headers = “$from\nContent-Type: text/html; charset=” . get_option(‘blog_charset’) . “\n”;
wp_mail( $to, $subject, $message, $headers );
//echo ‘mail to ‘, $to, ‘<br/> ‘ , $subject, $message; // for testing
}
}
add_action(‘comment_post’, ‘comment_mail_notify’);

效果如下图~
faxin

总结:

新手修改模版,一定会遇到很多问题。fangker多采用免插件纯代码的方式修改。小v的主题确实不错可惜停止更新了,已微微的水准本人要想做个模板什么的那要上大学好好努力才是~加油吧。

纯原创内容,转载请注明出处~

编辑作者:fangker

 
 


CyanProbe , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:wordpress主题的修改与功能增强
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址