接触WP已经一周时间了,有了初步了解。其资源的丰富性以及插件的易用性是无可比拟的。为了能让博客更好的符合自己的胃口,网上找了大量资料,进行了进一步的美化以及完善,主要是本博客正在使用的一些插件以及修改,现在整理下分享出来,方便更多人使用。今天在CB发现一米同学发的文章,WP3.0beta版发布了,一起期待正式版发布。

首先得从模板说起,模板是博客的第一印象,换了几个主题,最终选择了这个主题,感谢Xu.hel的倾情制作,给我们分享了这么好的主题模板。此模板CSS部分全部改用CSS3,IE内核浏览器可能无法更完美的浏览,推荐大家使用Chrome、Firefox以及Safari访问,页面将更加完美呈现。

具体内容如下:

1、wp-recentcomments在侧边栏显示管理员评论的BUG

本博客数据库前缀非WP_,所以在侧边栏最新评论部分即使后台禁用管理员,在sidebar边栏仍然显示管理员评论,论坛找到了一个办法,感谢£翱翔白鹭提供的解决办法,如下:

打开博客目录wp-contentpluginswp-recentcomments下的文件core.php,如果你没有修改过该文件,请找到第70行,找到原语句是

$sql_administrator = " AND comment_author_email NOT IN (SELECT A1.user_email FROM $wpdb->users A1, $wpdb->usermeta A2 WHERE A1.ID = A2.user_id AND A2.meta_key = 'wp_capabilities' AND A2.meta_value LIKE '%administrator%')";

问题就出在这了,如果WordPress安装时不是使用默认的表前缀(wp_),那么meta_key的值就不会是wp_capabilities,解决方法是把该查询语句改成如下:

 

// 是否显示管理员用户的 SQL 条件
$sql_administrator = '';
if ($args['administrator'] == 'false') {
$sql_administrator = " AND comment_author_email NOT IN (SELECT A1.user_email FROM $wpdb->users A1, $wpdb->usermeta A2 WHERE A1.ID = A2.user_id AND A2.meta_key LIKE '%capabilities%' AND A2.meta_value LIKE '%administrator%')";
}
2、解决邮件回复评论内容
这个解决办法可以用插件,但是本模板如果使用了插件,那种泡泡样式的回复模式将会没有掉,所以网上找了很多,最后在Willin那儿找到了宝贝。他提供了三种方式。第一种,有勾选项,可由访客自己选择是否回复邮件;第二种,无勾选项,由管理员决定什么情况下发送;第三种,全部留言都邮件回复。本人用的是第三种,将代码公布如下:
将下列代码copy 到 functions.php 的 <?php ..... ?> 区域内.

/* comment_mail_notify v1.0 beta by willin kan. (所有回复都发邮件) */
function comment_mail_notify($comment_id) {
$comment = get_comment($comment_id);
$comment_author = trim($comment->comment_author);
$parent_id = $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-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px;">
<p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
<p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />
' . trim(get_comment($parent_id)->comment_content) . '</p>
<p>' . $comment_author . ' 给您的回复:<br />
' . trim($comment->comment_content) . '<br /></p>
<p>您可以点击 <a href="' . htmlspecialchars(get_comment_link($parent_id)) . '">查看回复完整内容</a></p>
<p>欢迎再次光临 <a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
<p>(此邮件由系统自动发出, 请勿回复.)</p>
</div>';
$from = "From: "" . get_option('blogname') . "" <$wp_email>";
$headers = "$fromnContent-Type: text/html; charset=" . get_option('blog_charset') . "n";
wp_mail( $to, $subject, $message, $headers );
}
}
add_action('comment_post', 'comment_mail_notify');
// -- END ----------------------------------------

Willin大大已经将三种模式全部详细列出,欲知详情,请移步《Comment Mail Notify》
3、wordpress 添加评论表情列表
使用方法:把代码放到模板 comments.php 文件中的合适位置,感谢盒子提供方法。
具体代码如下:
<!--smilies-->
<?php
function wp_smilies() {
global $wpsmiliestrans;
if ( !get_option('use_smilies') or (empty($wpsmiliestrans))) return;
$smilies = array_unique($wpsmiliestrans);
$link='';
foreach ($smilies as $key => $smile) {
$file = get_bloginfo('wpurl').'/wp-includes/images/smilies/'.$smile;
$value = " ".$key." ";
$img = "<img src="{$file}" alt="{$smile}" />";
$imglink = htmlspecialchars($img);
$link .= "<a href="#commentform" title="{$smile}" onclick="document.getElementById('comment').value += '{$value}'">{$img}</a>&nbsp;";
}
echo '<div class="wp_smilies">'.$link.'</div>';
}
?>
<?php wp_smilies();?>
<!--smilies-->
现在稍微整理了就是这几个,在接下来熟悉WP的过程中还会继续整理。在此特别感谢的是万戈小盆友给予的大力支持,3Q3Q~~~
 
目前有50条回应
Comment
Trackback
Loading ....
  • 草儿 回应于2010/05/13 08:48 回复TA

    我想问问嵌套回复是怎么实现的?

    • 权子 回应于2010/05/13 14:22 回复TA

      这个是主题作者弄得 可以通过插件实施的吧

  • 本篇文章没有Trackback
你目前的身份是游客,请输入昵称和电邮!