Mail To Commenter插件使用中的两个问题

草根站长 八月 31st, 2010

Mail To Commenter插件在人在岱北博客已经用了好久好久了,但是由于SunQ本身就是一个圡人,并不懂后台,所以之前用的主题都是集成了Mail To Commenter插件的主题,我也就没有做过什么设置的工作,但是最近换了个主题,却发现主题并没有集成Mail To Commenter插件,最直接的问题是,没有回复按钮,让回复评论变得很累。

前一段时间一直都懒,也就没在意这件事情,昨天ryan同学在评论我的博文《可怜之人必有可恨之处》时,建议我加上回复评论按钮,这时我才想起来,这个按钮已经空缺了好久了……

如何加入回复评论的按钮

在Mail To commenter插件的设置界面,有这么一句说明:

自定义按钮显示:
这部分用来设定mailtocommenter_button()函数的输出内容和格式。请在模板文件中插入<?php if(function_exists(‘mailtocommenter_button’)) mailtocommenter_button();?>代码用于生成按钮。

也就是说,只要在想要的地方插入想要出现的地方,就可以在那个地方显示你所设置的回复按钮……

可是,应该在哪里插入这段代码呢?

研究了半天我现在所使用的这个GenkiTheme主题,感觉要么是在single.php中修改,要么是在comments.php中修改。虽然不懂php,英语也是弱智级别,但是简单的词语还是懂一些的。

眼对眼研究了好久,觉得还是应该在comments.php中添加这个代码……

在comments.php中发现了这么一段代码:

<?php foreach ($comments as $comment) : ?>

        <li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">
            <?php if (function_exists(‘avatar_display_comments’)){ avatar_display_comments(get_comment_author_email(),’48′,”); } ?>&nbsp;&nbsp;<strong><?php comment_author_link() ?></strong> | <a href="#comment-<?php comment_ID() ?>" title=""><?php comment_date(‘F jS, Y’) ?> <?php _e(‘at’);?> <?php comment_time() ?></a> <?php edit_comment_link(‘e’,”,”); ?>

我想,这应该是评论的上方所出现的评论者信息栏吧,因为我看到了ID、date、time这样的字眼,而且重要的是,如果我用管理员登录后,会在这些信息的后面显示“e”,以用于编辑评论,而最后面那句“<?php edit_comment_link(‘e’,”,”); ?>”不正是编辑评论链接的表述嘛……

这正是我想放上回复评论按钮的地方,于是把那句代码粘贴在这段代码之后,更新文件。到前台刷新了一下,果然,评论按钮出现了!

解决邮件无发件人的现象

由于真的不懂代码,为了让自己的修改更保险一下,用Google搜了一下,虽然没有找到准确的答案,但是却找到了之前发现的一个问题的解决办法。

一年多以前了,2009年6月,自从wordpress升级到2.8以后,Mail To Commenter插件所发送的邮件就出现了问题:发送的邮件没有发件人,虽然基本功能还是能实现的,但是却真的有碍观瞻,说不定还会被人当作成垃圾邮件了……

在一个叫做Derek’s Blog的wordpress上,我找到了问题的解决办法:(以下内容转自:Mail To Commenter的未知发件人问题

修改Mail To Commenter插件目录下的文件mailtocommenter_functions.php,路径为****/wp-content/plugins/mailtocommenter,找到function mailtocommenter_send_email此行,照着修改(我是CP的),然后测试成功,收工。

function mailtocommenter_send_email($to,$subject,$message){
	$hostname = get_option('home');
	preg_match("/^(http:\/\/)?([^\/]+)/i",$hostname, $matches);
	$blogname = get_option('blogname');
	$blognameO = $blogname;
	$blogname .= " <no-reply@";
	$blogname .= $matches[2];
	$blogname .= ">";

	$charset = get_option('blog_charset');
	$headers  = "From: $blognameO <no-reply@$matches[2]> \n" ;
	$headers .= "MIME-Version: 1.0\n";
	$headers .= "Content-Type: text/html;charset=\"$charset\"\n";
	$to = strtolower($to);
	return @wp_mail($to, $subject, $message, $headers);
}
果然,按照Derek的方法修改之后,现在回复的邮件已经显示发件人了……
“困扰”了一年多的问题在偶然中找到了解决办法,正所谓“无心插柳柳成荫”呀……

启示

对网站做一些简单的修改,并不一定非要懂后台,懂代码,仔细分析一下代码内容,必要时借助一下Google,小问题也是可以轻松解决的!

人在岱北博客主域名更换:www.DaiBei.org

草根站长 五月 1st, 2010

费了九牛二虎之力,DaiBei.org的域名总算是由时代互联搬家到Godaddy.com了:EMS发送过去两个多月都没有收到转移密码,打电话给时代互联,告知密码早就已经发送,后来请求其重新发送一遍,在Gmail的垃圾邮件箱里面找到了转移密码的邮件~

DaiBei.org的域名比Sun-Q.cn的域名有如下优势:

1、cn域名远没有org域名要好,目前cn域名的问题太多了,一是域名被注册太多太滥了,另一方面cn域名的使用有很大的局限性。

2、Daibei.org曾经在信产部备案过,备案号:苏ICP备08017040号,即使以后使用国内的主机,应该也没有太大问题

3、DaiBei.org目前已经是美国域名了,中国信产部管不着啦……

域名转移到国外了,那就开始用吧。这里要感谢WPChina.org的Jiang总统,他的一篇如何更换WordPress博客网站域名让我的域名更换工作在半小时内完成了……

Step1、备份WordPress数据库及文件;

Step2、将WordPress的文件复制到DaiBei.org的根目录;

Step3、修改WordPress域名:由于我的数据库没有移动,所以直接在WordPress后台“设置”-“常规”里面将WordPress安装地址和博客地址都该为新的域名,保存。

检查一下,www.DaiBei.org已经完美替代了Sun-Q.cn……

由于Sun-Q.cn域名所对应的主机目录下的文件没有动,所以我也没有做301重定向。现在使用DaiBei.org和Sun-Q.cn都访问博客的任何页面。

不过有个问题就是,Sun-Q.cn域名失效后,博客文章中的一些站内链接是不是就无法正常访问了?难道我还要把每个文章都修改一遍?或者是持续续费下去?好歹,Sun-Q.cn也是一个PR=4的域名呀。

后续工作:

1、Feed地址链接更改:把一些Sun-Q.cn的痕迹都换成DaiBei.org的,FeedSky中的Feed源地址也换成DaiBei.org……

feedsky
抓虾
google reader
鲜果
有道
QQ邮箱

2、统计代码更新:CNZZ为了防止他人误用您的统计代码,产生垃圾流量,只统计域名列表中域名的流量,在域名列表中加入DaiBei.org就OK了

3、Google网站管理员工具中更换新域名:这样可以将原来Sun-Q.cn的访问记搜索引擎数据大部分的转移到新域名DaiBei.org上,而且貌似PR值也是跟着转的……

各位朋友,如果您的网站或博客上有人在岱北的链接,不要忘记把域名修改成DaiBei.org哟~

WordPress博客搬家(二)

草根站长 二月 10th, 2010

接上篇:WordPress博客搬家(一)

一个全新的WordPress博客在DreamHost主机上建立了,这只能算是完成了搬家的最简单的一步,更重要的是数据的导入。

WP数据的导入方法有很多种,具体的种类可以到WP博客后台去查看一下,但是最经常用到的,貌似还是直接用MySQL数据库的备份进行导入。

而在要导入数据库备份的时候,忽然发现数据库接近10M,太大了,而DreamHost主机的数据库及附件上传默认的限制是7M。

如何突破DreamHost数据库及附件上传限制呢?

首先,我们应该了解究竟是什么限制了文件上传的大小。Google一下,不难得出,是php.ini这个文件进行了限制,可是,php.ini这个文件在哪里呢?

1、获得SSH登录权限。貌似没有SSH权限,你是没有办法修改php.ini文件的(我也不确切,毕竟是二把刀)。为了保险起见,赋予了SexStoreOnline.info的登录帐号SSH权限。

在DreamHost管理面板中,Manage Users,选择你要更改的账户,选择后方的”Edit”进入管理页面,将”User Account Type“更改为Shell account。

2、创建cgi-bin文件夹及php.ini文件

方法一:SSH登录DreamHost主机,用命令创建文件夹及相应文件。

SSH登录工具我使用的是putty,这是一个小巧的SSH远程登录工具,点此下载

登录之后,使用命令创建cgi-bin文件夹。将example.com替换为您绑定在DH主机上的域名。

mkdir $HOME/example.com/cgi-bin

然后,将php.ini文件拷贝到这个文件夹。

cp /etc/php5/cgi/php.ini $HOME/example.com/cgi-bin/php.ini

方法二:直接用FTP创建文件夹,同时上传php.ini文件。

直接用ftp登录主机,在你的域名文件夹下,创建文件夹cgi-bin。然后将php.ini文件拷贝至该文件夹。php.ini文件可以点此下载。

3、修改upload_max_filesize参数设置。

限制上传文件大小的参数就是php.ini中的upload_max_filesize参数,最简单的方法还是直接用FTP将编辑好的php.ini文件上传到原来的位置。

用记事本打开php.ini文件,ctrl+F搜索”upload_max_filesize“,将”upload_max_filesize = 7M”中的”7M”更改为你期望的大小。当然,不要太大哟,说不定会有安全隐患。修改好之后,保存,用FTP上传到cgi-bin文件夹就可以了。

另外一种方法还是通过SSH登录修改,不过我没有测试,不知道好使不好使,放在这里仅作参考。

perl -p -i -e ‘
s/.*upload_max_filesize.*/upload_max_filesize = 100M/;
‘ “$INIFILE”

这样,你就可以在phpMyAdmin里面导入较大的数据库文件了。

待续……

WordPress博客搬家(一)

草根站长 一月 31st, 2010

在天朝工信部的淫威下,我之前用Wordpress做的一个小站被迫要更换域名了,而且由于小站所使用的主机在一个月前就已经到期了,由于年底工作太忙,一直都没有顾得上寻找新的主机安放,因此此次的搬家相对比较复杂一些。

WordPress的域名要更换,由原来的SeeeeeeeeeeX.cn更换为SexStoreOnline.info,而且原来的域名自动转发功能已经被中国万网无情的在没有任何告知的情况下关掉了……

其实,SexStoreOnline.info这个域名也是昨天晚上刚刚注册的,在Godaddy.com上注册info的域名,花了1.07美元(其中含有0.18美元/年的类似于域名管理费这样的费用,info目前在Godaddy.com上注册的价格是0.89美元)。

主机是用的前一段时间注册的DreamHost的那个主机,注册了一个月了,总算要开始使用了,sigh……(据说DreamHost主机续费的话,价格会相对贵一些,估计明年这个时候又有的忙了)

第一件事是要把SexStoreOnline.info的NS服务器换成Dreamhost的,这个很简单,很快就换好了。不得不佩服Godaddy.com的速度,刚刚注册了域名,更换了NS服务器,不出五分钟,竟然已经解析成功了。而回想域名在万网的时候,不等个24小时,你就对不起万网的工作效率。

第二件事情,就是在DreamHost上安装WordPress了,DreamHost提供了一键安装服务,只要把域名绑定在主机上,使用一键安装,几分钟就可以把一个WP博客呈现在你面前……

Snap1.jpg

在DreamHost控制面板的左上角,点击One-Click Installs就可以进入网站一键安装页面

Snap2.jpg

第一次使用的用户会有上图中的前两个选项,如果已经一键安装过任意一个网站程序,就会出现第三个选项。

在这里,建议选择第二个Advanced mode(高级模式),从说明中我们可以看到,在第一个简单模式中,用户对网站的控制权将比较低,如果是WP的话,我想大概就只是像yo2.cn的用户那样吧,无法对WP进行升级和比较高级的维护。而在第二种模式中,用户拥有full control。

点击Advanced mode后,DreamHost会问你,需要安装哪一种程序,同时安装在哪个域名下:

Snap3.jpg

程序种类挺多,可我就认识WordPress一个……

Snap4.jpg

接下来,你需要选择安装的位置(安装在哪个域名下),是否需要系统自动为你创建一个数据库,之后点击”Install it for me now!”按钮,你的邮箱中就会收到一封安装成功的邮件,你的WordPress就可以放心使用了。

当然,一键安装只能安装英文版的WP,如果你想安装中文版的,可以麻烦一点:

1、可以上传中文安装包,然后自己一步一步安装

2、另外一种办法就是去下载个中文的语言包,上传到安装程序相应位置(以前的时候是可以的,现在我就不清楚了,自己去查一下吧)

博客安装成功了,下面的事情就是要把原来的数据导入到新的博客中了。

待续……

WordPress管理员帐号被盗了怎么办?

草根站长 十一月 1st, 2009

前几天,忙着搬家,一直没有更新博客,搬家完成后,却发现其中的一个博客被黑客攻击了……

hacker.jpg

黑客在博客的根目录下面增加了一个index.html的文件,使其取代了原本的主页,好在没有其他的过分的动作,日志页面都可以完美的访问……当然需要绕过主页才行。

开始没觉得什么,但是访问后台的时候却发现了比较严重的问题,提示管理员帐号的密码错误,而点击忘记密码之后,邮箱里却没有收到新密码的邮件。

太恐怖了,管理员密码丢失,连邮箱地址也被更改了……

搞了好久,没有搞出所以然来,只好借助于Google,最后选择了一个最为稳妥的方法:通过修改数据库重置密码

登录phpMyAdmin后台, 选择wordpress所在的数据库,单击wp_users选项,选择右侧上端的浏览选项-编辑user_login进入编辑页面,user_pass后的值就是密码,将密码修改为:”5d41402abc4b2a76b9719d911017c592″,然后回到WordPress登陆页面,使用密码”hello” 登陆即可。(当然,你改成别的密码也可以,我只是不知道如何把前面那串代码跟字母或者数字互译,有懂的童鞋可以教教我哦)

另外,还有三种方法可以重置密码,不过没有试验过:

方法一: 使用 password-resetter插件

下载: password-resetter

用法:1、将password-resetter.zip解压;

2、上传password-resetter.php到WordPress根目录(注意:这不是WordPress插件!)

3、运行http://yousite/password-resetter.php

4、在Set admin password:后面输入你要重置的管理员密码!然后点提交查询内容就可以了

5. 记得删除服务器上的password-resetter.php (不然会被他人利用)

方法二:手动更改密码

新建一个pwd.php文件,加入 echo md5(‘你的密码’);

上传到主机根目录下,执行http://你的域名/pwd.php,然后连到你的数据库执行

update wp_users set user_pass=’执行pwd.php显示的字符串’ where user_login=’admin’;

OK,现在可以用自己设定的密码进入管理员帐户了。

方法三:

当忘记密码后,只要把下面代码拷到主题的index.php刷新即可

<?php
$user = get_userdatabylogin(‘admin’);//忘记密码了,总记得用户名吧
wp_set_password(‘1′,$user->ID); //然后就用用户名admin,密码1登录就可以了,登录就可以了 ?>