任何问题请联系WX:uu16853

买模板送网站采集器 让你轻松放开双手运营网站!

购买更多有优惠!

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 技巧 […]

简洁蓝色 Metro 风格的 WordPress 主题:Qetro

如果你喜欢简洁,喜欢蓝色,喜欢文字居多的博客风格。那么,你可以看一下这个 Qetro 这个主题。Qetro 是潜行者M的一个原创作品,以简洁为主线,搭配一些简单的色彩,主要用来展示文字。支持自定义顶部导航菜单、以及三个小工具(边栏、底部一区、底部二区),可以实现大部分用户的普通需求,直接在后台操作即可,无需复杂的科学知识。 当然,如果你是一个 WordPress 主题折腾爱好者,Qetro 的结构和代码也比较简洁简单,可以方便的进行修改,也可以让非常菜的新手朋友研究学习制作主题。 Qetro 结构较为合理,对页面进行了轻微的优化,打开速度尚可。对浏览器的兼容性较好,兼容主流现代浏览器,对于IE来说,除了 IE6 没有实际测试之外,在 IE7、8 中的测试均达到预期效果。在 W3C html校验 中,仅有一处百度分享代码不规范。在 W3C CSS3 校验 中,仅有4处 CSS hack 没有通过。 因为 多说 这样的社会化评论插件功能过于强大,再加上编写评论模块比较复杂,所以现在的1.4版只带有比较简单的原生评论模块,推荐安装多说插件。此外一些短代码之类的高级功能暂时还没有。这些将会在后续版本中升级增加。 主题演示 | 主题官方介绍 | 下载主题 标签:WordPress 主题

WordPress 技巧:清理选项设置,加速博客运行效率

当我们开始使用 WordPress,肯定会试着去装一些插件,然后觉得一些插件没用或者不适合自己了,就卸载了。但是由于一些 WordPress 插件写的不规范或者考虑的不全面,会在系统中留下一些使用的痕迹,所以 WordPress 会越用会越慢。 其中相当一部分痕迹是插件将选项写到了 WordPress Options 表中,卸载的时候并没有删除这些选项,而 WordPress 在运行的时候,会把所有的 autoload 为 yes 的选项都导入,所以这样就会造成了 WordPress 效率降低。 查看 WordPress 博客中所有选项设置 在 WordPress 中,我们是可以快速查看到所有博客选项设置,包括已经卸载了的插件留下的。通过这个 url 就可以查看到所有选项设置:http://你博客安装 URL/wp-admin/options.php,并且还能修改设置,不过有些数据是以序列化形式保存的(比如一些复杂的设置以一个数组存到选项中),这些选项就无法修改。但是这个页面并没有提供让我们删除没用的选项的链接,通过这个页面获取无用的选项之后,我们可以直接使用 PHPMyAdmin 到数据库中去删除它们。 使用插件清理 WordPress 中没用的选项设置 如果你觉得手工在 PHPMyAdmin 删除这些选项风险太大,毕竟有很多选项是 WordPress 自带,有时还是比较难以判断的,那么我们可以通过插件来进行清理: Clean Options Clean Options 可以查找 wp_options 表中废弃的选项,它通过 get_option 和 get_settings 这两个函数来检查那些选项是博客中真正用到的,这样保证了我们不会删除那些当前博客运行真正需要的选贤。并且这个插件还提供了链接让你去 Google 上搜索下选项。 WP-Options-Manager WP-Options-Manager 这个插件可以让你浏览,删除和 debug 博客的选项,并且它会自动被隐藏 […]

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 […]

WordPress 技巧:把自定义日志类型添加到 Feed

如果你的 WordPress 和我一样使用了自定义日志类型(Custom Post Type),并且想把这个自定义日志类型的文章显示到 Feed 中,那么你需要在 functions.php 中加入下的代码: add_filter(‘pre_get_posts’, ‘add_microblog_2_feed’ ); function add_microblog_2_feed( $query ) { if ( is_feed()){ $query->set(‘post_type’, array( ‘post’, ‘m’)); } return $query; } 其中这里的 m 是我爱水煮鱼微博的 Custom Post Type 的名称,如果你想吧 page 更新也放到 feed 中去,可以把上面改成 array( ‘post’, ‘page’)。 标签: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 } ?> […]

Use Sinaapp Lib:使用新浪云计算 CDN 给 jQuery 加速

我前面介绍过 Google Hosted Libraries:它把一些常用的的 JavaScript 库放到 Google 的服务器上,这样就可以充分利用 Google 的服务器资源,节省自己的网络带宽。其实国内新浪云计算平台 Sinaapp 也提供了这些库:http://lib.sinaapp.com/。 为了方便 WordPress 博客使用,我就开发了对应的 WordPress 插件:Use Sinaapp Lib,把 WordPress 中的 JavaScript 库用 Sinaapp Lib 来替代,达到节省带宽和加速的目的。目前这个插件支持以下的库: jquery jquery-ui backbone underscore json2 swfobject 另外需要特别注意的是,这个插件使用的 jQuery 库是最新的 1.9 版本,会有一些兼容性的问题。 插件使用非常简单,只需要上传激活即可,原来使用 wp_enqueue_scripts 方式调用 jQuery 的插件无需做任何更改即可继续使用。 下载:use-sinaapp-lib.zip 标签:CDN WordPress 插件

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/。

如何从 Akismet 黑名单中逃生

不幸的事情总会发生,不知道哪个缺心眼的家伙竟然把我的域名搞到 Akismet 的黑名单了。这样的结果是灾难性,这样我到哪里留言都徽不成功了,直接被判断为垃圾留言,虽然我不太留言。 这个时候怎么办?办法总是有的。就是到 Akismet 的 Contact 页面联系他,告诉他你被 Akismet 误判了,能不能帮忙从黑名单中删除?因为对方是美国人,只能看得懂英文文,如果你英文不够好,你可以使用下面这段英文: My comments get caught by akismet by mistake. What can I do to make akismet identify my comments on others’ blogs as non-spams? 然后等上三四天,你就会收到对方的来信,告诉你他已经帮你从黑名单中删除,你测试下还有没有问题,有问题去再次联系他,回邮件就行了。 标签:Akismet SPAM

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 […]

Use Sinaapp Lib:使用新浪云计算 CDN 给 jQuery 加速

我前面介绍过 Google Hosted Libraries:它把一些常用的的 JavaScript 库放到 Google 的服务器上,这样就可以充分利用 Google 的服务器资源,节省自己的网络带宽。其实国内新浪云计算平台 Sinaapp 也提供了这些库:http://lib.sinaapp.com/。 为了方便 WordPress 博客使用,我就开发了对应的 WordPress 插件:Use Sinaapp Lib,把 WordPress 中的 JavaScript 库用 Sinaapp Lib 来替代,达到节省带宽和加速的目的。目前这个插件支持以下的库: jquery jquery-ui backbone underscore json2 swfobject 另外需要特别注意的是,这个插件使用的 jQuery 库是最新的 1.9 版本,会有一些兼容性的问题。 插件使用非常简单,只需要上传激活即可,原来使用 wp_enqueue_scripts 方式调用 jQuery 的插件无需做任何更改即可继续使用。 下载:use-sinaapp-lib.zip 标签:CDN WordPress 插件

如何从 Akismet 黑名单中逃生

不幸的事情总会发生,不知道哪个缺心眼的家伙竟然把我的域名搞到 Akismet 的黑名单了。这样的结果是灾难性,这样我到哪里留言都徽不成功了,直接被判断为垃圾留言,虽然我不太留言。 这个时候怎么办?办法总是有的。就是到 Akismet 的 Contact 页面联系他,告诉他你被 Akismet 误判了,能不能帮忙从黑名单中删除?因为对方是美国人,只能看得懂英文文,如果你英文不够好,你可以使用下面这段英文: My comments get caught by akismet by mistake. What can I do to make akismet identify my comments on others’ blogs as non-spams? 然后等上三四天,你就会收到对方的来信,告诉你他已经帮你从黑名单中删除,你测试下还有没有问题,有问题去再次联系他,回邮件就行了。 标签:Akismet SPAM

WordPress 技巧:社会化评论插件多说提速技巧

分享几个社会化评论插件多说的提速技巧:1. 不再查询 WordPress 原生的留言。 2. 不再加载 comment-reply.js,3.把多说的 JavaScript 脚本移到 footer。 不再查询 WordPress 原生的留言 我们知道使用多说这样的社会化评论服务之后,WordPress 本地的留言除了备份之外,其他已经没有什么作用了。但是安装了多说之后,WordPress 还是会去数据库查询当前日志的留言,这样的查询其实已经没有意义了,我们可以通过下面的代码屏蔽这次查询,达到提速的目的。 打开当前主题的 single.php 文件,把以下函数注释掉: comments_template(”, true); 然后添加下面的代码: require( $duoshuoPlugin->commentsTemplate('')); 这样 WordPress 就不会再次去数据库查询当前日志的留言了。 不再加载 comment-reply.js 我们知道 WordPress 在开启 Thread Comments 之后,WordPress 会要求在 head 加载一个叫做 comment-reply.js JavaScript 文件,它是用来实现 WordPress 原生嵌套留言的回复功能,但是我们使用多说之后,多说接管了所有留言的功能,多说也自带了嵌套回复功能的 JS,,所以 comment-reply.js 也就没有必要了,我们可以删除当前主题下的 header 中调用代码实现 WordPress 更快的加载。一般 comment-reply.js 加载代码如下: if ( is_singular() […]

为什么使用 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 程序,也可以作为 […]

多说更新到 1.0 版本:支持社交账号注册和后台统计数据

最好用的社会化评论系统多说的 WordPress 插件更新到 1.0 版本,这个版本开始支持支持社交账号注册和后台统计数据,使得多说向互联网基础设施服务更进一步。1.0 版本的详细更新信息: 社交登录的新用户允许绑定和注册!在注册页面会出现社交登陆按钮,点击进行社交授权之后,会进入 WP 正式注册流程,输入用户名和邮箱,由 WP 发送密码到邮箱完成注册。注册后的账号自动默认绑定之前授权的社交账号。个人建议提供函数,在 WordPres 任何页面也能注册登陆,如果能够提供 API 接口,适用于客户端开发,这样的话多说将更加强大。 评论流实时更新和实时桌面提醒:当本页面有新的评论出现时,不用刷新页面,评论流中会自动显示新的评论,这个功能对直播和互动较强的页面特别有用。当出现新回复的时候,会在浏览器右下角弹出桌面提醒,点击即可转到评论页面。 查看统计数据:直接在WP后台可以查看多说评论统计数据,无需再到多说主站来查看 允许单篇文章或页面启用或禁用多说评论框:在文章或 Page 的编辑页面,开关文章评论的地方,新增“关闭本文多说评论”的勾选项,如果勾上了,则本页显示 WordPress 原始评论框,如果想连 WordPress 原始评论框都关掉,请再勾掉上方的“允许评论” 支持核心代码后置功能:多说的 embed.js 文件加载之前都放在最前,这样做是为了防止网站自身的js文件加载速度慢导致多说加载滞后(如广告js),但有些站长担心多说会阻拦其他进程,因此这个版本中增加了将多说embed.js后置的开关,我前面提供的:把多说的 JavaScript 脚本移到底部的 WordPress 技巧可以不再使用。 标签:WordPress 插件 多说

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 技巧:让作者在后台只看到自己的文章

普通的作者,在 WordPress 后台不能看到太多的内容,我们可以让他们看到自己的文章,代码如下: <?php function wpjam_parse_query_useronly( $wp_query ) { if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) { if ( !current_user_can( 'add_user' ) ) { global $current_user; $wp_query->set( 'author', $current_user->id ); } } } add_filter('parse_query', 'wpjam_parse_query_useronly' ); ?> 标签:WordPress 技巧

使用 WordPress 的子主题(Child Themes)功能快速制作自己的主题

在了解子主题功能之前,先来看一下你在使用 WordPress 的时候是否是这样:不会自己制作主题,只好从网上下载一个,这个主题整体风格比较适合,但是有些小地方不太好,自己只是有一点 CSS 基础,可以修改一些简单的样式。修改的时候,却发现主题文件这么多,里面掺杂各种 PHP、HTML 代码,让人不知道在哪里修改。 太好了,那么我们开始学习子主题吧,子主题就是来解决这个问题的。它可以基于某个主题,继承它的功能和样式,然后让你自己进行简单的代码编写就可以衍生出一个新的版本。你还可以对子主题增加样式、功能等等,不仅仅是修改父主题样式那么简单。 做一个子主题非常简单,只需要用 FTP 什么的新建一个目录,然后增加几个文件就可以。你只需要了解很简单的 HTML 和 CSS 知识就可以修改父主题的样式等,当然当父主题升级之后,子主题样式、功能不会被覆盖失效。所以从这个角度来说,如果你想修改一个主题,你应该用子主题这个功能,而不是直接修改原主题文件。 下面就来具体实践看一下,我们就以 Twenty Twelve 这个主题为例吧,其他的主题都是一样的。 子主题的目录结构 子主题也是一个主题,也跟其他主题一样,放在 wp-content/themes 目录下面的文件夹中,文件夹的名称可以随便定义,为了形象一点,在示例中,我们可以新建 twentytwelve-child 这样一个文件夹存放子主题。这样的话,我们的 themes 文件夹中,至少有两个文件夹:twentytwelve、twentytwelve-child ,因为子主题要基于父主题,所以主题目录肯定要有父主题。 在子主题中,一般有下面几个文件: style.css (这个必须有) functions.php (这个可以有) 其他模板文件 (这个可以有) 其他文件 (这个可以有) style.css 是必须的 这是构建子主题中唯一必须有的文件,因为 WordPress 根据主题中的 style.css 头部信息来获取主题信息。特别是子主题,除了像一般主题一样添加头部信息之外,还需要添加父主题的名称,这样 WordPress 才能获取父主题的资源文件。 style.css 头部信息通常是这样的 /* Theme Name: Twenty Twelve Child Theme […]

为 WordPress 增加按分类搜索功能并自定义外观

如果用 WordPress 做一个小型门户网站,那么可能搜索增加需要“按分类搜索”的功能,这样可以快速搜索到指定分类的文章资讯。同时,我们还要进行外观的修饰,适应我们网站的整体风格。本文就是讲解如何在自己网站上增加一个像下图一样的分类搜索功能: 增加分类搜索功能 强大的 WordPress 的搜索模块,通过一定的参数来实现按照分类搜索。例如下面这个格式: http://blog.wpjam.com/?cat=0&s=搜索内容 对网站的 index.php 发送参数 s 加上内容表示直接搜索所有内容,如果再加上参数 cat 就可以实现相应目录下文章搜索,cat 参数的值为 分类目录对应的 ID。那么思路比较明确,我们在评论模块表单中,增加一个 select 下拉选项,然后输出网站的分类目录让用户可以选择,之后提交给 index.php 就可以了。 WordPress 已经提供了这样一个输出网站分类目录的函数 wp_dropdown_categories ,具体使用说明可以看一下官方文档,对于本例中,我们只需要使用下面一句代码即可输出目录: <?php wp_dropdown_categories("show_option_all=所有分类&hide_empty=0&show_count=0&hierarchical=1&depth=1&name=cat"); ?> 特别要注意的参数 name,因为你只有指定了 name 值为 cat,点击搜索之后,发送到 index.php 文件的搜索链接才有 cat 参数,才能实现搜索对应分类目录的功能。 注意:一定要把这个函数插入到搜索模块表单(form)里面,否则点击搜索按钮之后这个选项不会被提交出去。 这样,我们的按分类搜索模块已经完成了。 自定义样式 这时候,虽然功能实现了,但是外观实在是太丑了,太丑太丑了。 一般的思路就是对输出的这个 select 元素进行直接的 CSS 样式修饰,但是 CSS 只能修改个边框、背景颜色而已,特别是那个难看的三角真没办法修饰。目前网上比较常用的有:包裹几层 div 然后遮盖一下三角、模拟出来一个下拉列表、用一些其他的离奇 JS 手法等等。 当然,直接模拟出来一个下拉列表这种做法是最方便最简单的了,而且可以高度自定义样式。潜行者m 这次就是用的这种方法,下面就来介绍一下。 […]

WordPress 技巧:让 Widget 标题支持简单的 HTML 标签

在默认情况下,WordPress 的 Widget 标题是不支持任何 HTML 标签的,下面的技巧教你使用简单的代码替换实现在 Widget 标题实现支持 HTML 标签。 <?php /* Plugin Name: WPJAM HTML Widget Title Plugin URI: http://blog.wpjam.com/m/simple-html-in-widget-title/ ‎ Description: 让 Widget 标题支持简单的 HTML 标签 Version: 0.1 Author: Denis Author URI: http://blog.wpjam.com/ */ add_filter( 'widget_title', 'wpjam_html_widget_title' ); function wpjam_html_widget_title( $title ) { //HTML tag opening/closing brackets $title = str_replace( '[', '<', $title […]

微信机器人 WordPress 插件升级到 1.1 版本

微信机器人升级到 1.1 版本,这个版本主要修正由于公众平台接口更新引起的新用户订阅问题和可以让用户设置默认的缩略图: 修正新用户订阅提示问题:公众平台接口更新,新用户订阅将由之前推送一条“Hello2BizUser”文本,变化为推送一条“subscribe”的事件。1.1 版本也支持这个事件了,现在新用户订阅也可以正常回复了。 新增 WEIXIN_DEFAULT 常量:可以用来设置在没有缩略图时候的默认缩略图。 下载:微信机器人 WordPress 插件 1.1 版本 详细介绍:微信机器人 WordPress 插件:让你的微信公众账号自动回复用户 标签:WordPress 插件 微信

WordPress 技巧:去掉评论模块中的网站链接表单

在 WordPress 的评论模块中,有填写网站地址或者链接的表单,有时候我们想去掉它,因为有很多人来发垃圾评论,目的就是用用户名做关键词,填写一个链接,吸引浏览者去点击它。 想要去掉这个链接表单,一般想到的方法就是找到 comments.php 文件中的对应表单代码删掉。但是现在只需要一段非常简单的代码就可以去除: add_filter('comment_form_default_fields', 'unset_url_field'); function unset_url_field($fields){ if(isset($fields['url'])) unset($fields['url']); return $fields; } 只需要把上面代码添加到主题中的 functions.php 文件中,即可删除 网站链接 表单。妈妈再也不用担心博客上垃圾评论太多了:D 标签: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' );?> 即可。

rel=”category tag” 的使用与思考

在网站优化中,对于a标签的优化可以增加rel属性,例如WordPress的分类链接标签是加上了 rel=”category tag”。rel 属性还有更多的应用,之前我在WordPress 友情链接增加 external nofollow,这也是一种优化方法。下面说说对于 rel=”category tag”的使用。 是否使用rel=”category tag” Denis 童鞋写的“解决 rel=”category tag” 问题以便通过 W3C 验证”值得参考和使用,我在思考去掉 rel=”category tag” 我们还不如去优化 rel=”category tag”。 WordPress rel=”category tag” 优化 rel=”category tag” 没有得到 W3C 的 HTML5 验证器的认可,那么我们不去掉,换个W3C认可的:rel=”archive”。 add_filter( 'the_category', 'wpjam_fix_catgory_rel' ); function wpjam_fix_catgory_rel ( $text ) { $text = str_replace('rel="category tag"', 'rel="archive"', $text); return $text; } 将以上代码放到主题文件functions.php中即可,我已经在博客上启用,大家可以查看下文章标题下面的分类a标签中的rel属性。 关于rel=”archive”的一些参考资料: The referenced document […]

WordPress 技巧:只在相关页面导入 Contact Form 7 的 JS 和 CSS

Contact Form 7 是一个非常强大并且易用的联系表单的插件,我在很多项目中都用到它,但是这个插件有个很不好的地方,会在整个博客的所有前台页面都导入 Contact Form 7 的 JavaScript 和 CSS 代码,对于性能要求极致的我们,当然不允许这样的事情发生,所以我们可以通过下面的代码实现只在含有 Contact Form 7 表单的页面导入 Contact Form 7 的 JS 和 CSS 代码。 add_action ( 'wp_enqueue_scripts', 'wpjam_cf7_enqueue_scripts', 99 ); function wpjam_cf7_enqueue_scripts(){ wp_dequeue_script('contact-form-7'); if(is_page('contact')){ $in_footer = true; if ( 'header' === WPCF7_LOAD_JS ) $in_footer = false; wp_enqueue_script( 'contact-form-7', wpcf7_plugin_url( 'includes/js/scripts.js' ), array( 'jquery', 'jquery-form' ), […]

100% Secure Checkout

PayPal / MasterCard / Visa