很多同学在使用 WordPress 表情的时候,喜欢把 WordPress 表情改成自己喜欢的表情,但是每次都得到 WordPress 安装目录下 /wp-includes/images/smilies/ 去替换,并且每次 WordPress 一升级,还得再干一次,非常不方便,其实可以通过简单的 WordPress 插件 解决这个问题: <?php /* Plugin Name: Custom Smilies Src Plugin URI: http://blog.wpjam.com/m/custom_smilies_src/ Description: 自定义 WordPress 表情图片路径 Version: 0.1 Author: Denis Author URI: http://blog.wpjam.com/ */ add_filter('smilies_src','wpjam_custom_smilies_src',1,10); function wpjam_custom_smilies_src ($img_src, $img, $siteurl){ return $siteurl.'/wp-content/smilies/'.$img; } ?> 将上面代码复制成一个插件,上传激活,或者复制到当前主题的 functions.php 也可以。 上面的代码就是表情的文件夹定义到 /wp-content/smilies/,这样升级也不会影响到你自定义的 WordPress 表情图片了。 如果你想对 WordPress […]
WordPress
WordPress 表情:WordPress Smilies
什么是 WordPress Smilies? 我们知道在 WordPress 撰写日志的时候,输入 “:-)” (前后要有空格)就会转化成一个笑脸 ,这个就是 Smilies。又称 “emoticons”,它是一些用来传达情感的特殊文字。是的,我们在撰写日志的时候通过这种方式来表达感受是一种非常好的方法。 WordPress Smilies 默认情况下 WordPress 最自动把文本 Smilies 转化为一张表情图片,所以你在撰写日志的时候输入 “:-)” (前后要有空格),在预览或者发布日志就会看到一个笑脸 。 如果你不想这个转化发生,你可以到 WordPress 后台关掉,WordPress 后台 > Setting (设置) > Writing(撰写),在 Formatting(格式)部分,把 Convert emoticons like “:-)” and “:-P” to graphics on display” (转换如 、:-P 等文本表情符号为图像)这个选项关掉即可。 WordPress 支持的表情 默认情况下 WordPress 支持一下几种 Smilies: Smile 笑脸 Shortcut: ‘:smile:’ , […]

如何有规律的备份 WordPress 博客
我们都知道备份 WordPress 博客应该是规律性的操作,但是事实上往往我们都会因为其它的事情的介入而忘记了。 没有备份博客所产生的后果是非常严重的,假如你的服务器因为某种原因宕掉了,或者网站被黑,而你恰恰又没有备份你的博客,这时候你将使你无法恢复你的博客或者丢失很多重要数据,你除了哭之外,真的没有别的办法了! 如何有规律的备份 WordPress 博客 一般来说,我会每周作一次网站的备份。下面我们来简单说一下如何快捷备份 WordPress 博客。 使用 FTP 工具将你的 BLOG 文件全部下载到本地; 登录 phpMyAdmin,选择你自己的 WordPress 数据库; 确认所有的 WordPress 表以后选择 Export; 在 Structure 部分,选择 Add Drop Tables,Add AUTO_INCREMENT 和 Enclose table and field names with backquotes; 在 Data 部分将所有选项留空; 选择 Save as file 开始下载数据库(如果你的数据库非常大的话你可以选择压缩)。 使用 WordPress Database Backup 自动备份数据库 如果你没有权限登录 phpMyAdmin,或者想把备份这件事情做成自动化,那么你可以使用插件 WordPress Database […]

WordPress 日志缩略图(Post Thumbnail)详细介绍和使用
很多 WordPress 主题,特别是那些杂志型的主题,会给每篇日志加上一张缩略图,这种展现方式一般用在首页,可能单独出现,或者和日志摘要一起。但是目前位置没有一个标准的方法去实现日志缩略图,很多主题是使用 WordPress 自定义字段来实现日志缩略图功能,这样的设置比较复杂,虽然我在制作的很多 WordPress 项目中都是用这个方法,并且设置了直接上传缩略图的方法,但是还是略显麻烦。 从 WordPress 2.9 开始,WordPress 开始内置了日志缩略图的功能,后面又改成了特色图片(Featured Image,这里为了统计叫法,还是使用日志缩略图的名称)并且提供了详细的接口让主题的作者设置和调用日志的缩略图。 WordPress 日志缩略图功能 开启 WordPress 日志缩略图功能 要使用日志缩略图功能,首先需要通过函数 add_theme_support() 来开启,具体是在当前 WordPress 主题的 functions.php 文件中添加以下代码: add_theme_support( 'post-thumbnails' ); 上面的代码会在 WordPress 后台编辑日志的界面开启设置日志缩略图的窗体,并且同时给日志和页面开启缩略图功能,如果想单独开启的话,使用以下代码: add_theme_support( 'post-thumbnails', array( 'post' ) ); // 给日志启用日志缩略图 add_theme_support( 'post-thumbnails', array( 'page' ) ); // 给页面启用日志缩略图 设置日志缩略图大小 开启了 WordPress 日志缩略图功能之后,我们可以通过函数 set_post_thumbnail_size() 来设置缩略图的大小,这里有两种方式:box-resize(盒大小模式)和 hard-crop(裁剪模式)。 盒大小模式按照比例缩小图片直到适合指定的盒子,所以不会扭曲图片。盒大小模式可以指定长度和宽度,比如一张 […]
WordPress 角色和权限终极指南
WordPress 在 2.0 版本中引入了角色和权限(Roles and Capabilities)系统,以前的用户等级的方法(User Levels)已经被弃用。但是还是有很多插件和主题仍然使用用户级别的方法来控制用户查看设置页面和其他功能。所以这篇指南将详细介绍 WordPress 的角色和权限系统,最终将让你在你的插件和主题中能够正确使用。 什么是角色和权限? 和其他 CMS 或者 Web 程序一样,WordPress 也有一个内置的系统来验证一个特定的用户是否有足够的权限来进行某种动作。WordPress 这个内置的系统就是角色和权限系统,它首先将用户分为角色(Role),然后给每个角色都分配一定的权限。 下面是 WordPress 默认的用户角色: 管理员 -拥有所有的管理权限 编辑 -发表文章,编辑文章,以及编辑其他人的文章,等等。 作者-发布和编辑自己的文章 投稿者 -撰写和编辑自己的文章,但不能发布 订阅者 -查看评论/添加评论/查看文章,等等。 WordPress 的角色和权限系统比用户等级的方法灵活得多,它支持对现有用户角色添加,删除和重新分配权限,甚至还可以添加更多的用户角色,并且不破坏系统原有内置的用户角色。 用户权限和后台菜单 很多插件都都会在 WordPress 后台添加一个管理页面,让用户自定义插件选项,一般我们可以通过下面的函数实现: // 添加主菜单 add_menu_page(page_title, menu_title, capability, handle, [function], [icon_url]); // 添加子菜单 add_submenu_page(parent, page_title, menu_title, capability, file/handle, [function]); //添加选项菜单子菜单 add_options_page(page_title, menu_title, capability, handle, [function]); //添加工具菜单子菜单 add_management_page(page_title, […]
WordPress 技巧:禁用 WP Cron
我们知道 WordPress 有个进程专门用来在指定的时间周期或者将来的某个时间点运行特定的任务,比如定时发布某篇日志。这个功能 WordPress 是通过 WP-Cron 实现的,它会在每次你的博客有人访问或者在后台工作的时候,都会去检查当前是否有任务要执行。这样可能会引起一些问题: 增加服务器加载时间,特别是网站访问用户特别多的时候。 而网站的访问用户很少或者加载了静态缓存插件,指定的任务可能又不运行。 所以最好不要让 WordPress 在后台执行 WP-Cron,而是使用服务器的真正的定时 Cron 功能来执行。 可以通过在 wp-config.php 添加下面的代码禁用 WP-Cron: /* Disable background wp-cron */ define('DISABLE_WP_CRON', true); 然后在服务器上创建真正 Cron 作业,如果你使用 Bluehost 这类使用 Cpanel 管理的主机,可以直接在 Cpanel 面板 > 高级选项 > Cron Jobs 中添加: 根据你自己博客定义作业的情况,定义执行的时间周期,比如一天2次等。然后输入下面的命令: /usr/bin/php -f /home/username/public_html/wp-cron.php >/dev/null 你需要根据自己主机的实际情况更改下上面的命令中 wp-cron.php 文件的路径。 或者直接使用服务器访问 wp-cron.php: wget http://YourDomain.com/wp-cron.php 标签:WordPress 技巧 […]
WordPress 插件:Last Post Redirect(最新日志跳转)
Last Post Redirect 是一个 WordPress 插件,主要功能是在你的博客上快速定位到你博客的第 N 篇文章。比如要定位到第一篇文章,可以在浏览器的地址栏输入这样的的地址: http://yourblog/?lastpost 或者 http://yourblog/?lastpost=1。如果要快速定位到第10篇文章,则输入:http://yourblog/?lastpost=10。 根据上面的描述,所以这个插件最大的用途可能是,可以通过 http://yourblog/?lastpost 这个链接将博客的最新的日志贴到 QQ 的签名档,或者邮件的个人签名中,让你的朋友点击你最新的日志。 这个插件主要代码参考 Matt 的 Random Redirect,整个插件使用非常简单,只需上传激活即可,然后就可以实现跳转。 下载 Last Post Redirect:last-post-redirect.zip 标签:WordPress 插件

WordPress 相关日志插件:WordPress Related Posts
我们知道 WordPress 使用的 MySQL 数据库默认是不支持中文分词,所以在中文情况下产生相关日志的最好方法就是通过 Tag,而 WordPress 2.3 版本开始 WordPress 内置了 Tag 的支持。 所以根据日志含有相同的 Tag 数越多,就认为日志相关性越强,所以我根据这一原理开发了 WordPress Related Posts 这个插件,最新版已经由 Zemanta 接手继续开发了。 WordPress 相关日志的详细功能 WordPress 相关日志插件最基本的功能就是根据日志的 tag 的相关性产生一个相关日志列表,并且可以把相关日志列表添加到 Feed 中。 支持生成缩略图和主题,让你的相关日志更加吸引人。 支持响应似设计,在移动端表现完美。 支持统计,了解相关日志对整个网站的提升效果。 安装和使用 WordPress 相关日志 上传整个插件文件夹到 /wp-content/plugins/ 目录下或者在后台直接安装 在插件菜单下激活插件 在模板文件中适当的位置插入 <?php wp_related_posts(); ?> 模板函数或者在后台使用自动插入相关日志功能 在后台管理界面下,直接进入 Related Posts 中配置插件的输出 WordPress 相关日志的详细配置 WordPress 相关日志插件设置比较复杂,分成以下几块: 基本设置 WordPress […]
使用 phpMyAdmin 管理 WordPress 数据库
phpMyAdmin 是开源的 MySQL 数据库管理工具,它能够让用户直接对 MySQL 数据库进行操作的 PHP 脚本程序。 什么是 phpMyAdmin? phpMyAdmin 是用来对数据库进行各种操作的维护数据表,备份信息,和在 WordPress 不工作的情况下直接编辑数据库。 其实 phpMyAdmin 最大的好处就是可以直接用来进行 SQL 查询,这比直接使用 MySQL 的命令行方便了很多。 一般在主机的控制面板,如 cPanel 和 Plesk 中,都已经预装了 phpMyAdmin。如果你使用这些主机控制面板,无需做任何事情的时候,只需在控制面板中找到相应的链接即可使用 phpMyAdmin。当然也可以也可以直接到 phpMyAdmin 项目页面下载和安装即可。 在 WordPress 后台使用 phpMyAdmin WordPress 也是使用 MySQL 作为数据库构建的,它把所有信息都保存在 MySQL 数据库中的,所以我们可以通过 phpMyAdmin 来查看 WordPress 的数据库中数据,字段和表。如果为了方便,也可以使用 WP-phpMyAdmin 这个插件可以整合 phpMyAdmin 到 WordPress 后台。 WP-phpMyAdmin 这个插件使用非常简单,只需要下载安装激活即可,然后到 WordPress 后台 > […]
WordPress 数据库管理和优化插件
我们都知道 WordPress 使用的数据库是 MySQL 这个世界上使用最广的开源数据库(当然也可以简单的 hack 换成其他数据库),WordPress 把所有的信息,如日志,留言,当前主题,使用的插件等等,都放在 MySQL 数据库中,所以对 WordPress 的数据库的管理是每个使用 WordPress 写博客的 blogger 日常非常重要的一项工作,而众多的 WordPress 数据库管理,备份,优化插件给这项管理工作提供了非常大的方便,下面我就讲讲我在 WordPress 数据库管理过程中主要使用到几款 WordPress 插件,希望对大家在对 WordPress 数据库进行管理的过程中有所帮助。 1. 数据库备份:WP Database Backup 数据库备份无疑是数据库管理中最重要的一项工作,如果服务器因为某种原因宕掉了,又或者网站被黑,内容被篡改,而又没有备份数据库,这时候就彻底悲剧了,很多很多重要数据就会丢失且无法恢复。 而在 WordPress 数据库备份这方面,WP Database Backup 无可争议是最好的 WordPress 数据库备份插件,它可以支持你把数据库备份到服务器上,下载到本地,或者发动到你的邮箱,并且更重要的是你还可以让它定期把数据库备份好,自动发送到你的邮箱中。 更加详细关于 WordPress 数据库和整个博客的备份的介绍,请参考:如何有规律的备份 WordPress 博客 2. 数据库管理:WP-phpMyAdmin phpMyAdmin 是开源的 MySQL 数据库管理工具,它能够让用户直接对 MySQL 数据库进行操作的 PHP 脚本程序。phpMyAdmin 能够进行 SQL 查询,这个在插件开发的时候特别有用(当然是要在测试的数据库上使用),另外对数据库的日常管理,如优化,修复,备份数据库,查看数据库存在的错误,创建索引等等。 […]
WordPress 技巧:自定义登录界面的 Logo
如果想自定义 WordPress 登录界面的 Logo,可以在当前的 functions.php 文件中添加如下函数,或者单独保存为一个插件并上传激活。并且把自定义的 Logo 命名为 custom-login-logo.gif,并且放到当前主题目录的 images 文件夹下。 <?php /* Plugin Name: 自定义登录界面的 Logo Plugin URI: http://blog.wpjam.com/m/custom-login-logo/ Description: 自定义 WordPress 登录界面的 Logo Version: 0.1 Author: Denis Author URI: http://blog.wpjam.com/ */ add_action('login_head', 'wpjam_custom_login_logo'); function wpjam_custom_login_logo() { ?> <style type="text/css"> h1 a { background-image:url(<?php echo get_bloginfo('template_directory'); ?>/images/custom-login-logo.gif) !important; } </style> <?php } ?> […]
WPJAM 问答:新的 WordPress 问答网站
经常有人在博客上给我留言问我问题,或者直接加我 QQ 问我问题,基本上都是 WordPress 相关的问题,但是实在时间和精力有限,我们没办法全部回答,并且博客上的留言散落在各篇文章,QQ上回答了,其他有同样问题的用户也看不到,所以我决定做一个 WordPress 相关的问答网站,因为前段时间把博客迁移到 wpjam.com 平台上,所以我决定这个问答系统就叫做 WPJAM 问答。 WPJAM 问答系统链接是:http://bbs.wpjam.com/,虽然使用的二级域名中带有 bbs,但是其实还是使用 WordPress 构建的,但是我做了以下几方面的优化: 首先,这个系统无需用户登陆,但是又不想让用户手工输入自己的个人信息,所以我使用了多说的一些 JavaScript 接口,就是如果用户已经登录了多说这个社会化留言系统,WPJAM 问答系统就会默认自动获取你在多说中的信息,并直接和问题的标题和内容一起提交。如果没有登陆多说,那你也只能自己输入名字和邮箱,以便以后通过邮件获取问题的答案了。 然后,为了让用户尽快收到答案,在有人回答了用户的问题之后,系统会自动发一封邮件告诉用户,你的问题已经有人回答了,但是为了防止骚扰,只有第一次回复的时候才会发邮件,因为如果还没有解决用户的问题,用户可以通过多说继续留言和收到回复。 我们知道这样的面对用户的问答系统 HTML 标签是允许很少的,WPJAM问答系统更是所有的 HTML 标签都不支持,但是因为主要面对 WordPress 的问题,所以一定是要允许输入代码的,这个时候怎么办?只需要把代码放到 [code] 和 [/code] 中,就能正确把代码贴入,并且无需当心代码被过滤掉。如果代码还不能描述清楚你的问题,还可以在 [img] 和 [/img] 中贴上截图的链接来进一步描述问题。 <!– 集成在 WordPress 后台,这个是我认为这个问答系统最好的地方,我已经制作了一个 WordPress 插件(还在最后测试,很快发布),让你直接在 WordPress 后台直接提问和收到回复。 –> 不过为了防止垃圾留言,第一提问是需要审核的,之后就不需要了,并且不要发布的太多太快,好吧,你如果有什么 WordPress 问题没办法解决,就来提问吧:http://bbs.wpjam.com/。
WordPress 技巧:删除孤立的 Post Meta 数据
WordPress 使用久了,有些 Post 删除了,但是其对应的 Post meta 数据还存在,那么怎么删除这些孤立的 Post Meta 数据呢?在数据库管理软件中直接运行下面的 SQL 语句: DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL 执行之前,要注意备份数据库,如果你的 WP 数据库的前缀不是 wp,也要相应的改成你 WP 数据库的前缀。 标签:WordPress 技巧
WordPress 技巧:把多说的 JavaScript 脚本移到底部
多说默认是在 Head 输出它的相关 JavaScript 脚本,但是有时候因为多说服务器不稳定的问题,会引起整个博客速度被拖累,另外按照 YSlow 或者 Google PageSpeed 等优化规则,最好也是要把 JavaScript 代码放到 Footer,下面就介绍下如何把多说的 JavaScript 脚本移到 Footer: <?php /* Plugin Name: 把多说的 JavaScript 脚本移到 footer Plugin URI: http://blog.wpjam.com/m/move-duoshuo-js-to-footer/ Description: 把多说的 JavaScript 脚本移到 footer Version: 0.1 Author: Denis */ add_action('init', 'move_duoshuo_js_to_footer'); function move_duoshuo_js_to_footer() { global $duoshuoPlugin; remove_action('wp_print_scripts', array($duoshuoPlugin, 'appendScripts')); add_action('wp_footer',array($duoshuoPlugin, 'appendScripts')); } ?> 将上面的复制到当前主题的 functions.php 文件,或者直接复制保存一个文件,上传到当前插件目录,激活即可。 标签:WordPress […]
为什么使用 WordPress 给企业建站
我是 2006 年开始使用 WordPress,然后就深深的喜欢上了这个开源的博客程序,测试和使用了上百个 WordPress 插件,并且自己也写几个 WordPress 插件。 更重要的是从 2007 年开始使用 WordPress 给企业或者工作室建站,到今天已经有好几年的经验,其中也有了许多成功的案例,也和其中几个对 WordPress 有相同爱好的朋友一起组建了一个专门使用 WordPress 给企业建站的团队:WordPress JAM。今天就自己这几年的使用 WordPress 给企业建站的经验说下为什么选择 WordPress。 WordPress 使用简单,WordPress 是一个博客系统,它要应对全世界上亿用户的不同的使用习惯,所以它的用户体验是很好的,WordPress 用户界面友好,很快就能上手使用,所以你不也用担心你的老板不会用。 WordPress 建站 SEO 好,收录快,WordPress 具有非常好的 SEO 特性,使用 WordPress 建立的网站可以很快被 Google 和者百度等搜索引擎收录,刚发布的文章最快几分钟就能收录,所以使用 WordPress 建站对企业进行网络推广非常有大的帮助。 WordPress 完全支持中文,WordPress 主要开发者是美国人,所以他的默认语言是英文的。但是对于不懂英文的同学,完全不用考虑语言的问题,WordPress 是本地化做的做的最好的开源程序之一,它完全支持 i18n 协议,各国爱好者也对其进行了本地化,国内有 WordPress 中文团队一直对其进行本地化工作。 WordPress 是可扩展,WordPress 虽然是一个博客程序,但是 WordPress 众多的插件是你可以把它改成任何程序,你可以把你的 WordPress 作为一个 Wiki 程序,也可以作为 […]

WP125: WordPress 的 125×125 广告管理插件
现在很多博客都在侧边栏放置 125X125 的广告位,但是怎么管理这些广告位呢:如何实现广告轮转,广告过期了怎么处理?所以我们需要一个高效的广告管理工具,除了可以使用第三方的广告管理工具(比如:Google DFP,百度广告管家)之外,我们还可以使用 WP125 这个 WordPress 插件来管理博客侧边栏 125X125 的广告位。 WP125 介绍 WP125: WordPress 的 125×125 广告管理插件 WP125 插件也是一个高效的广告管理工具,它能帮你非常高效的管理侧边栏 125X125 广告位,让你专心写日志。WP125 会在 WordPress 后台添加一个 “Ads” 顶级菜单,然后有三个子菜单,分别用来调整设置,添加和管理广告位。 WP125 功能 支持一栏或者两栏广告显示,并且支持模板函数。 支持无限的广告位,并且支持手工或者随机顺序。 可以跟踪广告点击次数。 当新建广告位的时候,你需要自己计算那天结束,只需要输入广告显示的天数即可。并且当广告位到期的时候会自动下线。 当一个广告位到期了,这个广告位的记录会被存档,并且以未激活状态保存,你可以查看这个广告位的最终点击数或者恢复广告位运行。 当一个广告位为空的时候,会显示一个你选择的默认的广告图片。一般是“Your Ad here”这样的图片,并且你可以设置默认链接链,一般我们把它设置为链向,广告统计,价格或者一个推荐链接。 可以设置当广告位过期的时候是否有邮件通知,这样你就可以及时知道广告位过期并通知广告商。 WP125 安装 和其他插件安装一样,通过 FTP 直接上传到插件目录,激活即可,也可以直接在 WordPress 后台安装。 如果你的主题支持 Widget,把 WP125 的 Widget 直接拖到侧边栏即可,如果不支持,可以在主题的 sidebar.php 的模板文件中添加 wp125_write_ads(); 这行代码。 WP125 […]
WordPress 技巧:显示同个父页面的其他子页面的链接
假设有一个父页面,然后它有一些子页面。当打开父页面的时候,你想在 sidebar 显示它的子页面的链接。 当打开子页面链接的时候,你还是想要显示它同个父级下的所有一组链接。现在问题是,首先要判断现在的页面时是相同父页面的其他子页面。我们无法通过一个简单 WordPress 函数就能解决这个问题。 <?php global $post; if($post->post_parent){ $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); } else { $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); } if ($children) { echo '<ul>'; echo $children; echo '</ul>'; } ?> 标签:WordPress 技巧

神一样的主题:London Live WordPress Theme
今天看到一条关于 WordPress 的新闻:南非政府:4000万投入换个WordPress网站: 南非自由邦省政府一位负责人称,他们投入了4000万南非兰特(约合人民币2750万)重新设计政府网站,结果却被承包商给涮了,巨额投资的成果竟然是个任何普通站长都能做的 WordPress 站点。 南非政府为此与一家承包商签署了为期三年的合同,但承包商交工之后南非政府就发现被狠狠地骗了,最终建成的网站令人啼笑皆非,用的居然是免费的Wordpress博客软件,以及一个40美元的付费主题:London Live WordPress Theme。 有业内人士评论说,南非政府支付的费用简直荒诞可笑,而这个合同也为该承包商带来了每月350万南非兰特(约合人民币240万)的利润。 看到这条新闻,除了感觉 WordPress 无比强大,南非政府无比弱智之外,我更想观摩下 London Live WordPress Theme 这个神一样的主题。 推荐指数:★★★★★ | London Live WordPress Theme的演示和详细介绍 London Live WordPress Theme 是 ThemeForest 一个付费的主题,价格确实是 40美元,目前已经卖出去了 2500 多份,如果不算 ThemeForest 分成,赚到了超过 10W 美元了,国外做 WordPress 主题确实不错的。这个主题有什么特点呢: 两种不同的导航菜单样式(明和暗) 推荐视频 两种幻灯片选项(长和短) 包含 PSD。 内容页也支持幻灯片 非常容易配置的主题面板 两种类型的列表页(博客和传统新闻类型) 支持 WordPress 3.0 自定义菜单 内建带验证的联系表单 自动图片缩放(timthumb) […]
微信机器人 WordPress 插件升级到 1.1 版本
微信机器人升级到 1.1 版本,这个版本主要修正由于公众平台接口更新引起的新用户订阅问题和可以让用户设置默认的缩略图: 修正新用户订阅提示问题:公众平台接口更新,新用户订阅将由之前推送一条“Hello2BizUser”文本,变化为推送一条“subscribe”的事件。1.1 版本也支持这个事件了,现在新用户订阅也可以正常回复了。 新增 WEIXIN_DEFAULT 常量:可以用来设置在没有缩略图时候的默认缩略图。 下载:微信机器人 WordPress 插件 1.1 版本 详细介绍:微信机器人 WordPress 插件:让你的微信公众账号自动回复用户 标签:WordPress 插件 微信
如何解决 WordPress“addComment is not defined”的错误
出现 addComment is not defined 这个问题是折腾 WordPress 评论的,出现这错误现象是在评论中,点击“回复”无反应,查找了一些老外的说法,各有各的说法,有说是 WordPress 2.7 开始遗留的问题,有些说的插件的问题,也有说是主题中 functions.php 的问题。 我自己博客也出现了 addComment is not defined 的问题,总结了下状况和一些方法,应该是插件或者主题 functions.php 的问题,十有八九是由于js的原因。 解决办法: 在主题文件header.php的 </head> 标签前加入 <?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' );?> 即可。

WordPress 技巧:设置好评并输出
一些评论比较多的媒体站,管理员会把一些用户写的好评单独输出在侧边栏,但是怎么设置好评和输出呢?我们可以在 WordPress 后台评论管理界面评论管理区添加一个新的好评动作,并且通过 WP_Comment_Query 这个 Class 输出所有好评。 详细代码如下: <?php /* Plugin Name: WPJAM 好评 Plugin URI: http://blog.wpjam.com/m/wpjam-good-comments/ Description: 管理员可以在后台留言列表设置某条评论为好评,在前台通过<code>wpjam_get_good_comments</code>调用所有好评的评论。 Version: 0.1 Author: Denis Author URI: http://blog.wpjam.com/ */ add_filter('comment_row_actions','wpjam_good_comments_comment_row_actions',10,2); function wpjam_good_comments_comment_row_actions($actions, $comment ){ if(get_comment_meta( $comment->comment_ID, 'good_comment',true) == '1'){ $actions['good_comment'] = '<a href="'.home_url('/wp-admin/edit-comments.php?good_comment=0&comment_id='.$comment->comment_ID).'">取消好评</a>'; }else{ $actions['good_comment'] = '<a href="'.home_url('/wp-admin/edit-comments.php?good_comment=1&comment_id='.$comment->comment_ID).'">好评</a>'; } return $actions; } add_action('admin_head','wpjam_good_comments_admin_head'); function wpjam_good_comments_admin_head(){ if(isset($_REQUEST['good_comment'])){ if($_REQUEST['good_comment'] […]
WordPress 技巧:给每个页面都设置不同的菜单
做项目总是有一些很奇怪的要求,比如有些客户需要给每个页面设置不同的菜单,但是这些总是难不倒 WordPress: <?php /* Plugin Name: WPJAM 自定义菜单 Plugin URI: http://wpjam.com Description: 实现每个页面都设置不同的菜单 Version: 0.1 Author: Denis Author URI: http://wpjam.com */ add_action('init','wpjam_register_nav_menus_init'); function wpjam_register_nav_menus_init(){ global $wpdb; $sql = "SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE meta_key = 'nav_menu';"; $nav_menus = $wpdb->get_col($sql); if($nav_menus){ foreach ($nav_menus as $nav_menu){ if($nav_menu){ register_nav_menu( $nav_menu, $nav_menu); } } } } add_action('save_post', 'wpjam_save_nav_menu_options'); function […]
WordPress 技巧:当搜索结果只有一篇时直接重定向到日志
在 WordPress 进行搜索的时候,如果搜索结果只返回一篇日志的时候,最好的方法是直接重定向到该日志。 add_action('template_redirect', 'wpjam_redirect_single_post'); function wpjam_redirect_single_post() { if (is_search()) { global $wp_query; if ($wp_query->post_count == 1) { wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); } } } 标签:WordPress 技巧
5个使你 WordPress 网站更安全的好习惯
网站经常面对各种各样的威胁,比较常见的就是:黑客攻击、服务器崩溃导致数据丢失。本文介绍五个运营 WordPress 需要具备的好习惯,形成习惯之后,可以提高你的 WordPress 站点的安全性。 1. 经常备份网站数据 这个习惯是必须的,即使是再安全的服务器也有崩溃损失文件的可能性,此外如果网站被黑客攻击了,也会造成文件丢失或被修改。最简单有效的方法当然就是备份数据了。但是备份数据也是需要有一定的规划,不能说想备份的时候就备份,忙的时候就算了。当然,也有一些比较懒的备份方法,那就是使用 WordPress 数据备份插件。一般比较常用的有: BackWPup BackUpWordPress 特别推荐 BackWPup 这个插件,设置一下就可以自动执行备份操作,而且可以自动把备份保存到第三方存储服务(通常是网盘)上。关于网站备份的一些经验,推荐潜行者m的这篇文章:如何进行高效有序的网站备份。 2. 使用复杂的密码 这一点不用多说了,很多被入侵事件都是因为账户设置了一个比较简单的密码(弱口令),让黑客配合社会工程学或者暴力测试轻松的破解出来。所以不仅仅是在自己的网站,在其他网站注册账号,也都要尽量使用一个复杂的密码,这样可以减少被猜出的几率。 特别要注意的是,一定不要使用 admin 作为你 WordPress 默认登陆帐户名,很多黑客工具都是用 admin 作为登陆尝试账号进行暴力猜解。 3. 安装可信的插件和主题 单纯的 WordPress 肯定无法满足复杂的需求了,往往需要安装一些插件和主题来提供个性化的需求。这时候,就要小心了。网上有很多 WordPress 主题分享站点,但是分享的这些主题,往往都是被这些网站修改了的,理论上说都是不安全的。很多 WordPress 站点被入侵事件,就是由于安装了网络上鱼目混杂的主题或者插件导致的。 虽然网络上也有一些比较成熟可靠的第三方主题插件分享平台,但是 WordPress 官方的主题库、插件库是绝对权威安全的(有志愿者亲测)。 此外,很多比较好的主题、插件,由于一些特殊原因无法提交官方,如果你想要使用那么请从主题、插件作者页面下载,不要相信那些经过二次修改、汉化过之类的,除了官方作者修改之外,别人的修改往往都有安全隐患。 4. 及时升级你的 WordPress WordPress 每次升级都会带来一些麻烦,例如某项功能取消了,某些函数废弃了等,这些问题可能会导致你的主题、插件的部分功能无法使用,还需要进一步升级主题、插件等等。但是,我们还是要尽量把 WordPress 升级到最新版本。原因很简单,每次官方升级,都是修复一些 Bug ,这些 Bug 往往存在一些安全隐患。 WordPress 在安全更新日志中,都会提示修改了哪些 Bug ,如果你不升级的话被黑客得知你的 WordPress 版本,可能会通过相关的 […]
WordPress 教程:为插件自定义数据表
当你写插件的时候,你可能需要写东西到数据库中去,一般来说,有两种数据要存储,第一种是安装数据,一般存储在 wp_options 表中,使用 WordPress 的 options 机制来实现。第二种是数据,可以存储到 postmeta 表或者 usermeta 表中。如果数据特别多,就需要单独创建数据表了。这篇文章就讲讲如何在写插件时候创建数据表。 一般在写插件时候创建数据库有如下三个步骤: 创建一个添加新数据表的 PHP 函数。 保证插件启动的时候调用这个函数。 如果新版本有不同的数据表结构,创建一个升级函数。 今天我就以微信机器人 WordPress 插件高级版的 新功能:自定义文本回复,来讲解下这个过程,其中的第三步,由于没有数据库的升级不涉及。 创建一个添加新数据表的 PHP 函数 我们这个插件的安装函数叫做:weixin_robot_texts_crate_table。 1. 数据库表前缀 默认 WordPress 数据库标签前缀都是 wp_,但是有人如果在一个数据库安装两个及以上 WordPress,就需要在 wp-config.php 设置 WordPress 数据库表前缀来区别,所以我们向 WordPress 数据库添加新表的时候,要先找找到数据库表前缀。我们可以在变量 $wpdb->prefix 找到。代码如下: global $wpdb; $table_name = $wpdb->prefix . "weixin_robot_texts"; 2. 判断表是否存在 可以通过一条 SHOW TABLES SQL 查询来判断。 if($wpdb->get_var("SHOW […]
WordPress 技巧:删除 wp_head 中无关紧要的代码
WordPress 通过 wp_head() 在页面的头部输出了很多东西,但是这些标签很多是没用的,虽然这些代码也没有什么副作用,但是个人更喜欢保持一个简洁的 header。 所以这篇日志将教你如何移除 header 中的下面几个标签,你可以根据自己的需求选择移除: Really Simple Discovery (RSD) link Windows Live Writer link WordPress generator 信息 和日志相关的 Link Really Simple Discovery 输出代码如下: <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" /> 这是 XML-RPC 客户端发现机制需要用到的,如果你不知道这个是什么意思,或者没有集成类似 Flickr 这类服务到你的站点,那么你可以安全的移除它: remove_action('wp_head', 'rsd_link'); Windows Live Writer 输出代码如下: <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" /> 如果你没有使用 Windows Live Writer 来写日志,那就移除它吧: remove_action('wp_head', 'wlwmanifest_link'); […]

WordPress 推出 10 周年纪念T恤
真快,WordPress 已经快有10年了,我从06年开始用,也差不多7年了。为了纪念即将到来的 WordPress 十周年庆典活动,WordPress 专门制作了一个特殊的十周年纪念T恤,将以成本价销售,每件 10 美元加运费,直到 5月27日的纪念日,4月29日开始发货。 购买地址:http://hellomerch.com/collections/wordpress/products/wordpress-10th-anniversary-t-shirt Binaryoung 正在组织团购,有兴趣的同学,请猛击这里:http://bbs.wpjam.com/topic/159/ 购买地址:http://hellomerch.com/collections/wordpress/products/wordpress-10th-anniversary-t-shirt
微信机器人 WordPress 插件高级版
经过几个星期的测试,终于可以推出微信机器人高级版,相对基础版,高级版本让你你设置更加容易,并且还有一些更加强大的功能,当然因为基础版已经满足大家的需求,高级版是收费的,现在特价销售,仅为 ¥79.99,以后增加更多功能之后,将提升到 ¥199.99,要买立刻, 点击这里购买微信机器人高级版。 更容易设置 微信机器人高级版让你所有的设置都可以在后台实现,比如输入微信 token,设置默认的缩略图等等,详细如下图: 更高级的功能 微信机器人高级版的另外一个加强的地方是,新增了一些高级高能,比如输入 n 返回最新文章,输入 r 返回随机文章等等,并且这些关键字都可以自定义,如果你已经申请了微信自定义菜单功能,这些关键字也可以用于自定义菜单,已经完全支持。 自定义回复 除了高级功能之后,你还可以在 WordPress 后台自定义回复(需要重新激活下插件): 目前支持文本和图文两种自定义回复,如果是文本回复,直接输入要回复的文本即可,如果是图文回复,请输入构成图文回复的单篇或者多篇日志,用英文逗号区分开,如:123,234,345,并且同个回复还可以支持多个关键字。 详细大家可以添加我的微信公众账号进行测试,账号为:WordPressJAM,或者直接扫描下面的二维码: 微信机器人高级版安装和设置 微信机器人高级版安装和基本版一致,上传激活,然后在微信公共账号后台将 URL 设置为:http://你博客地址/?weixin,Token 设置成上面一致: 最后到 WordPress 后台 > 微信机器人 进行设置和自定义回复。 下载:微信机器人 WordPress 插件。 购买:微信机器人高级版。 标签:WordPress 插件 微信

WordPress 性能优化:为什么我的博客比你的快
WordPress 很慢? 很多同学都说 WordPress 很慢,但是作为全世界最常用的建站和博客系统 WordPress 来说,我相信在性能设计上肯定不会有太大的问题,WordPress 开发团队也肯定也考虑到这个问题。 那么 WordPress 效率问题主要是出在哪里呢?根据我多年 WordPress 建站和维护的经验,很多性能的问题都是 WordPress 使用不当造成的,比如安装太多效率低下的插件,使用代码质量低下的主题,没有正确处理 WordPress 的缓存等等,所以提高 WordPress 性能,就要从这些方面入手。 今天就结合实际案例:App每日推送 这个使用 WordPress 构建的网站,给大家讲讲自己多年总结的 WordPress 优化经验和技巧: 关于 App每日推送 首先简单介绍下App每日推送这个网站,它是基于 WordPress 构建的 iPhone/iPad 应用推荐服务,这是目前我做过最复杂的 WordPress 网站,有多重筛选{可以通过设备(iPhone/iPad/通用),价格(免费/限免/收费)分类(游戏/应用/工具等等)选择 App},用户动态(可以关注,喜欢,发表评论,发布和回复帖子),讨论区,消息通知,用户积分,积分兑换等等功能。 并且整个网站每个月的流量超过 500 万PV,但是网站目前的速度很快,大部分页面在 0.1 秒内生成,并且每个页面基本保持只有 2 条 SQL 查询,比如首页:2 queries in 0.063 seconds。 那么我们是怎么进行优化的: 静态文件优化 网站的静态文件一般有两种:第一种是网站的 CSS,Javascript 和一些主题的常用背景图片和按钮文件,这些图片如果网站不进行改版或者其他改动,基本上是不会修改的,第二种是每天更新的网站内容中上传的图片或者附件,这些图片文件也是基本不会改动的。 解决好静态文件存储和加速,网站性能就首先能得到基本的保证了,WordPress 构建的网站和博客也是一样的。对于这些静态文件来说,最好的解决方案永远是使用 […]
WordPress 3.6 新功能概述
WordPress 已经发布了 3.6 的 beta 3 的测试版,那么 3.6 有哪些新功能呢? 日志格式:现在日志格式有了全新的 UI,主题作者可以通过模板函数实现结构化数据。 Twenty Thirteen:全新的 Twenty Thirteen(2013)主题。Twenty Thirteen 是一个具有丰富选线,色彩丰富,以博客为中心的主题,并且全面支持日志格式。 音频/视频:现在你无需插件或者第三方媒体托管服务,就可以在日志中嵌入音频或者视频了。 自动保存:日志将自动保存到本地,如果你的浏览器挂掉,或者电脑死机,设置服务器下线,你都不会丢失你撰写的日志。 日志锁定:可以看到有人正在编辑某篇日志,并且如果他长期没有动静,可以将他踢出去。 导航菜单:导航菜单被简化成可以折叠的 UI,并且可以通过一个单独标签来实现批量编辑分配菜单的位置。 日志修订:权限的日志修订 UI,可以滚动选择修订历史,并且支持高亮显示两个版本的不同之处,还可以快速恢复到任何修订版。

