WordPress新用户注册时提示“您的密码重设链接无效”

在使用Wordpress密码找回功能及新用户注册邮件中的重置密码链接时,Wordpress提示“您的密码重设链接无效,请在下方请求新链接。”、“该key似乎无效”、“invalid key”。

这个其实不是wordpress的问题,邮箱收到邮件后,会将密码重置链接地址及其前后的“<>”一起当成链接地址生成超链接,点击此超链接后,由于传给wordpress的参数不对(多了个>),例如把鼠标移到下图的红色框的连接上,并看到浏览器左下角的URL提示连接,会发现多了一个“>”,所以wordpress提示密码重设链接无效。

此问题主要影响忘记密码时的找回密码功能及新用户注册时,系统给新用户发送的密码设置功能。可通过以下两个步骤解决此问题:

  • 解决找回密码时提示“您的密码重设链接无效”:

打开WP根目录下的 wp-login.php,找到如下代码(374行左右):

$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";

修改为:

$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";

即去掉两个尖括号即可。

  • 解决新用户注册时,点击邮件中的重置密码链接提示“您的密码重设链接无效”:

打开WP安装目录下的/wp-includes/pluggable.php,找到如下代码(1741行左右):

$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . ">\r\n\r\n";

修改为:

$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n";

以上修改后,用户收到的密码重置及新用户收到的密码设置邮件将不会再包含“<>”,用户再邮箱中点击链接后即可正常重置或者设置密码。以上修改涉及到Wordpress源代码的修改,每次升级Wordpress后修改会被覆盖,必须重新进行以上修改。

另一种解决方式:把下面的代码加入当前主题的functions.php里面就可以了。

/** * 修复WordPress找回密码提示“抱歉,该key似乎无效”问题 */ function reset_password_message( $message, $key ) { if ( strpos($_POST['user_login'], '@') ) { $user_data = get_user_by('email', trim($_POST['user_login'])); } else { $login = trim($_POST['user_login']); $user_data = get_user_by('login', $login); } $user_login = $user_data->user_login; $msg = __('有人要求重设如下帐号的密码:'). "\r\n\r\n"; $msg .= network_site_url() . "\r\n\r\n"; $msg .= sprintf(__('用户名:%s'), $user_login) . "\r\n\r\n"; $msg .= __('若这不是您本人要求的,请忽略本邮件,一切如常。') . "\r\n\r\n"; $msg .= __('要重置您的密码,请打开下面的链接:'). "\r\n\r\n"; $msg .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') ; return $msg; } add_filter('retrieve_password_message', reset_password_message, null, 2);

这种办法的缺点是,每次换主题都要重新把代码添加到主题的function.php文件中。

 

如何开启替换WordPress的默认评论表情?

WordPress 4.7新默认主题Twenty Seventeen亮相(图文)

WordPress 4.7新版本的开发工作已经开始。这一版本将会给大家带来一个新的默认主题:Twenty Seventeen,也就是2017主题。

WordPress 2017主题设计图

WordPress每年都要给大家带来一款全新的默认主题。WordPress 4.7将会给大家带来的新版默认主题,由Mel Choyce设计的Twenty Seventeen主题(下面简称2017主题),是个采用现代设计风格的主题,可用于打造适合任何商业网站及以及产品展示网站。

下面是WordPress 2017主题的设计外观图:

此外,除了上面的桌面版本首页,设计图还包括iPad版本首页、智能手机版本首页、静态页面、文章页面、文章列表页面等。可以点击此处查看。

WordPress 2017主题的设计目标

看得出来,WordPress 2017主题非常漂亮。但它的优点不限于此。2017主题至于提供无缝的主题初始安装功能,让任何用户(哪怕你没有太多的专业技术支持)都可以在最短的时间内安装好这个主题。

WordPress 2017主题的设计目标还包括:

  • 更方便用户使用静态页面作为首页;
  • 主题自定义面板将提供可视化的图标编辑功能,代替现在隐藏的shift+click方法;
  • 扩展自定义页头图片,允许使用视频;
  • 用于即时预览的傻瓜填充内容。

WordPress 2017主题的开发

设计师Mel将全程关注WordPress 2017主题的开发。开发工作由Laurel Fulford和David Kennedy将辅助她,来主导开发工作。此外,还将会有一个后备的Twenty Seventeen主题开发团队。

与以往一样,WordPress 2017主题将首先在GitHub上进行开发。一旦主题可用且稳定后,主题将会集成到WordPress核心程序中,而GitHub仓库将被遗弃,之后的问题反馈将融合到WordPress Trac开发跟踪系统。

让我们来一起期待WordPress 2017新主题早日到来吧!

PS:本站已经跟新至最新wopdpress 4.7 版本,但是占时没有看到Twenty Seventeen的踪影,不过在主题商店里面已经可以搜索到了,有喜欢的人,可以安装体验下……

关于WordPress 音乐插件Hermit的使用总结

今天一时心血来潮想给prolicn博客来点音乐点缀下,搜寻一番,最终决定使用Hermit插件,关键Hermit我想大家应该都很熟悉了吧,那我简单介绍下,顺便分享下安装过程中遇到的一些问题总结,希望对新手有帮助。

WordPress 音乐插件Hermit 由 @mufeng 制作,支持Html5+Flash的虾米音乐播放器。支持添加虾米单曲、专辑、精选集和远程音乐,直接在文章编辑页面集成了可视化编辑界面,非常方便:

官方下载地址:http://mufeng.me/hermit-for-wordpress.html 基本的安装使用方法插件里面都有,具体可以参考如下。


本地音乐
前往音乐库添加音乐信息(支持从本地上传音乐)。新建文章页面,点击“本地音乐”,选中音乐,点击下方“确认选择”,然后点击“插入至文章”
网易音乐单曲地址格式:
1、http://music.163.com/#/song?id=28031119
2、http://music.163.com/#/song?id=28288476

可以定义多首歌曲,一行一首,会过滤重复地址专辑地址格式:
歌单地址格式:
1、http://music.163.com/#/playlist?id=8702279

电台地址格式:
1、http://music.163.com/#/djradio?id=239

虾米音乐单曲地址格式:
1、http://www.xiami.com/song/1772276934
2、http://www.xiami.com/song/1772276934?spm=a1z1s.6659513.0.0.CNqWT9

可以定义多首歌曲,一行一首,会过滤重复地址专辑地址格式:
1、http://www.xiami.com/album/1482417245?spm=a1z1s.6843761.1110925389.8.fPssn5

精选集地址格式:
1、http://www.xiami.com/collect/27433968?spm=a1z1s.3065917.6862697.18.Jn8JNx

效果如下:

00:00/00:00

以上都是很简单,基本人都会的,下面我总结下可能会遇到的问题。

问题:插件安装了,但是音乐无法播放,无法使用

解决:这个跟你所使用的主题有关系,你右击查看源代码是看不到插件样式的,说明根本读不到样式,播放不了是正常的,所以必须在header.php中添加<?php wp_head();?>  在footer.php中添加<?php wp_footer(); ?>

是不是很简单,加好刷新下,尽情享受音乐盛典吧……

prolicn博客一直都在

prolicn博客,是乎有点被人遗忘了…..

那这篇文章的名字就叫“prolicn博客一直都在”……

prolicn博客有一段时间没有更新博文了,被遗忘也是情理之中的事情,博客这东西本事靠内容支撑的,没有了内容,就是去了浏览的意义了。

今天可以说算是一个特殊的日子,7月2日可以把它定义为香港回归后的反省日,呵呵,是乎有点夸张了,当然开个玩笑啦,但是今天对我来说确实发生挺多事情。

首先就是prolicn博客运行一年多的空间到期了,服务商下达了做后的“通缉令”,再不交钱,就要把我网站逐出互联网,之前有通知了我两次,又因为比较忙而遗忘了,也没太在意,人就是这样,没要到纪要关头就是没有那种紧迫感,今天接到这个最后的“通缉令”,突然后有了一种吓死宝宝的感觉,想想自己的博客都快两个年头了,不忍心就此遗落,于是立马找了一些空间,准备转移空间,因为之前的空间是乎有点卡,所以干脆换了,对于空间不是很专业,但是空间抉择中也查了相关的资料文章,略有所学呀,至于这次的这个空间速度如何,广大博友们看到我这篇博文后就可以看看速度,万能的朋友圈,测试就靠你们了,哈哈哈……

找好了空间后,于是将之前的数据都转移过来了,一些都配置好,和往常一样,在浏览器上熟悉的打上prolicn.com见证下换空间后的速度如何,按下Enter后,速度到时感觉比以前快了,但是是乎总感觉少了点东西,还是一样的界面,也许是改换换主题了,既然空间都换了,那主题为何不一起也换呢,既然开始,就来个全新的开始吧,于是就琢磨的换个什么样的主题好,上网逛了一圈,发现好多漂亮的模板,瞬间觉得自己有点OUT了,想当年…..玩遍个wordpress主题,如今又多了好多漂亮生疏的新主题新面孔,真如那句话说的,地球不会因为少了你而不运转……

经过一遍的筛选后,最后决定还是走简洁风格,毕竟这也是时代的趋势嘛!

刚好今天是周末,有点时间,说改就改,最后选择了Simple主题这款主题,Simple主题由Loobo主题笔记与醉清风博客共同开发而成,主要看中的是他的风格跟我博客第一次用的主题有点像,于是就决定就用他了,当然不可能全部用,为了贴合自己博客的风格,就在这款主题之上做了一些调整和优化,当然还是希望大家支持原创,同时也感谢这两位巨人,让我站在了巨人的肩膀上“得瑟”下…..

大体上没有什么大变化,因为这款主题本身就很简单,没什么大多功能,然而时间比较有限,只是做了一些优化,后期有时间会继续添加新的功能,如果博友们有什么好的建议或者不好的bug都可以联系我,我们可以一起交流与学习,那天有时间整理下把之前用过的主题也分享给大家。

今天就写到这里吧,毕竟天天对着电脑不好,留点时间陪陪家人,带上老婆孩子出去逛逛,约几个朋友出来聚聚…..

收藏全球最有趣的网站

比较实用的网站,也许,你自己可能都不知道已经注册过这么多的网站了,只要输入你的邮箱或手机号即可轻松查看!

传送门 http://www.reg007.com/ 

简单好玩的小游戏,支持手机APP下载,内容是可以在线生成酷炫的电子音乐,配合电子风格的视觉特效,全屏观看,相当给力!

传送门 http://superlooper.universlabs.co.uk/

可以在线生成多种中文书法字体预览,选择你满意的字体后,可将生成的图片下载保存,可惜的是,网站没有提供相应的字体文件。

传送门 http://www.diyiziti.com/

很诗意的网站,它可以轻松制作小清新风格的网络便签,支持中文,分享方便!

传送门 http://gmpk.us/

网站将众多老视频剪辑播放,气氛诡异,意图不明。。。

传送门 http://neave.tv/

传说中的WINDOWS 93,只不过是网友随便想出来的一个版本而已。。。主界面以Win95为基础,加上各种展示特效,看起来相当时髦!

传送门 http://www.windows93.net/

没有之一!网站几乎可以在线转换所有我们常见的文件格式,即点即用,实时生成下载,乃居家旅行必备工具。

传送门 http://cn.office-converter.com/

弹性泡泡,你一定喜欢

传送门 https://bouncyballs.org/

如果你目前访问不了google的话,不妨试试今天的这个网站,它可以免代理直接访问google网站,从此不再有约束!

传送门 http://www.googleout.com/

如果你的独立博客是用Wordpress搭建的,那今天的这个网站就要收藏起来了,它可以在线分析出任何Wordpress博客的主题信息及下载地址,同时顺道也把插件也一同分析出来了,很是实用!

传送门 http://whatwpthemeisthat.com/

当flappy bird遇上2048,两款网上最火的手游结合体。。。熟悉的操作与玩法,双倍虐心不客气,有喜欢挑战自我的玩家可以试试。

传送门 http://flappy2048.com/

瞪大你的眼球吧。

传送门 http://www.vill.ee/eye/

wordpress网站安全之install.php文件

今天用了360网站安全卫士检测下,提示一些警告,其中一条有关于install.php文件的….
对于install.php文件之前没什么太在意,也不是很了解,于是查了一些有关的信息与资料,在这里随便跟大家分享下哈…..
用wordpress建立网站后,程序会在网站管理目录web/wp-admin/下遗留一个叫做install.php的文件。这个文件是安装程序中的支持文件,只在安装时会调用,当程序释放后就失去了作用,删除并不影响网站功能。这就如同下载可执行文件,安装到电脑后,下载的安装文件是可以删除的,并不影响程序的运行。此目录包含了危险的功能或信息,黑客有可能利用这些脚本或信息直接获取目标服务器的控制权或基于这些信息实施进一步的攻击。所以,我们有必要对这个文件进行处理,以保证整个网站的安全。那么,我们需要怎么做呢?

处理install.php的办法当然不止一种。我们可以选择执行拒绝写入指令或者是修改程序名称,让黑客无法修改或者无法识别这个文件,来达到阻扰黑客的目的。也可以直接删除。

1)执行拒绝写入指令。这个可以在网站空间的控制面板操作,大部分的服务器都支持这种做法,而且很简单,还可以对整个目录做出执行拒绝写入指令。当然了,也可以在ftp端的属性选项进行操作。

2)修改程序名称。我们可以修改前缀,把install修改成任何你想要的名称。也可以修改后缀名,把格式定义为其他任意格式,如把.php改为.xyz。这么做的目的是伪装这个文件,阻扰黑客的识别,反正这个文件又不会影响网站功能,随便我们怎么定义了。

3)清空文件内容。用文本编辑器打开install.php,把里面脚本记录清空然后保存。这样即使黑客获取了这个文件,也无法对安装脚本进行分析。

4)直接删除。这是最直接有效的方法,也是推荐与首选。前面说了,这个文件只在网站程序载入空间服务器时需要调用,不然无法完成安装。但是安装完成后,就完成了它的使命,同时也失去了它的作用。删除它的另一个好处是,可以为服务器节省一丁点空间。

最后,总结下,我是直接把说install.php文件重命名了,就算后期要的话,改回来就好了,而且install.php文件本身不大,占不了多少空间对吧,其实对于网站安全要根据实际,利用多种方法,定期备份其实是最笨也是最有效的方法,没有之一…….
好了,洗刷下,美美的午休下……

WordPress 常用模板函数速查表

简单,快速,复制/粘贴,这个页面列出用于创建,更新和维护 WordPress 模板的常用函数列表。

基本模板文件

文件名描述
style.css主题样式文件
index.php首页模板文件
header.php头部模板文件
single.php单篇文章模板文件
archive.php存档/分类模板文件
searchform.php搜索表单模板文件
search.php搜索模板文件
404.php404模板文件
comments.php留言模板文件
footer.php底部模板文件
sidebar.php侧边栏模板文件
page.php静态页面模板文件
front-page.php静态首页模板文件
tag.php标签存档模板文件
category.php分类存档模板文件

头部函数

函数名描述
<?php site_url(); ?>站点根链接
<?php wp_title(); ?>文章或者静态页面标题
<?php bloginfo(‘name’); ?>站点名称
<?php bloginfo(‘description’); ?>站点描述
<?php get_stylesheet_directory(); ?>样式文件所在目录
<?php bloginfo(‘stylesheet_url’); ?>样式文件链接
<?php bloginfo(‘pingback_url’); ?>pingback 链接
<?php bloginfo(‘template_url’); ?>模板文件所在目录链接
<?php bloginfo(‘version’); ?>WordPress 版本
<?php bloginfo(‘atom_url’); ?>atom 链接
<?php bloginfo(‘rss2_url’); ?>rss2 链接
<?php bloginfo(‘url’); ?>网站根链接
<?php bloginfo(‘html_type’); ?>html 版本
<?php bloginfo(‘charset’); ?>字符集

导航菜单

默认导航菜单
<?php wp_nav_menu(); ?>
指定的导航菜单
<?php wp_nav_menu( array(‘menu’ => ‘Project Nav’ )); ?>
基于分类的导航
<ul id=”menu”>
<li <?php if(is_home()) { ?> class=”current-cat” <?php } ?>>
<a href=”<?php bloginfo(‘home’); ?>”>Home</a></li>
<?php wp_list_categories(‘title_li=&orderby=id’);?>
</ul>
基于页面的导航
<ul id=”menu”>
<li <?php if(is_home()) { ?> class=”current-page-item” <?php } ?>>
<a href=”<?php bloginfo(‘home’); ?>”>Home</a></li>
<?php wp_list_pages(‘sort_column=menu_order&depth=1&title_li=’);?>
</ul>

模板函数

函数名描述
<?php the_content(); ?>文章内容
<?php if(have_posts()): ?>检查是否有文章
<?php while(have_posts()): the_post(); ?>显示文章
<?php endwhile; ?>结束循环
<?php endif; ?>结束判断
<?php get_header(); ?>头部模板内容
<?php get_sidebar(); ?>侧边栏模板内容
<?php get_footer(); ?>底部模板内容
<?php the_time(‘m-d-y’); ?>显示时间,格式为:’08-18-07′
<?php comments_popup_link(); ?>显示到文章留言的链接
<?php the_title(); ?>文章标题
<?php the_permalink(); ?>文章链接
<?php the_category(); ?>文章分类
<?php the_author(); ?>文章作者
<?php the_ID(); ?>文章ID
<?php edit_post_link(); ?>文章编辑链接
<?php wp_list_bookmarks(); ?>友情链接列表
<?php comments_template(); ?>留言模板内容
<?php wp_list_pages(); ?>所有页面列表
<?php wp_list_categories(); ?>所有分类列表
<?php next_post_link(‘%link’); ?>下一篇文章链接
<?php previous_post_list(‘%link’); ?>上一篇文章链接
<?php get_calendar(); ?>显示文章日历
<?php wp_get_archives(); ?>存档链接列表
<?php posts_nav_link(); ?>上一篇和下一篇文章链接
<?php rewind_posts(); ?>重回开头开始第二个循环

主循环

基本循环
<?php if(have_posts()) { ?>
<?php while(have_posts()) { ?>
<?php the_post(); ?>
<?php // custom post content code for title, excerpt and featured image ?>
<?php } // end while ?>
<?php } // end if ?>

其他函数

函数名描述
/%postname%/自定义固定链接
<?php include(TEMPLATEPATH . ‘/x’); ?>从模板文件夹加载文件
<?php the_search_query(); ?>搜索表单返回的值
<?php _e(‘Message’); ?>返回翻译之后的文本
<?php wp_register(); ?>注册链接
<?php wp_loginout(); ?>登录/登出链接
<!–nextpage–>将文章那个内容分页
<!–more–>截断文章内容,并创建到全文的链接
<?php wp_meta(); ?>管理元链接
<?php timer_start(); ?>开始计时 (header.php)
<?php timer_stop(1); ?>停止计时 (footer.php)
<?php echo get_num_queries(); ?>显示生成当前页面所需的查询数