任何问题请联系WX:uu16853

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

购买更多有优惠!

WordPress 技巧:在后台显示日志浏览数

除了使用 Google Analytics 统计整个博客的流量之外,我还使用 WP-Postviews 这个 WordPress 插件对每篇日志的点击数进行统计,通过对每篇日志的统计,这样我就可以知道哪些日志受读者欢迎,并且可以实现博客日志流量 Top 10 等功能,非常方便和强大。但是 PostViews 这个插件有点不好的地方就是不能在后台日志列表页面显示点击数,查了下 WordPress 的 Hook,通过以下代码实现了这个功能: add_filter('manage_posts_columns', 'postviews_admin_add_column'); function postviews_admin_add_column($columns){ $columns['views'] = __('Views'); return $columns; } add_action('manage_posts_custom_column','postviews_admin_show',10,2); function postviews_admin_show($column_name,$id){ if ($column_name != 'views') return; $post_views = get_post_meta($id, "views",true); echo $post_views; } 你只需将上面的代码复制到你的 PostViews 插件的原文件或者主题的 function.php 中即可,如果你不知道怎么做,也可以下载下面这个文件 PostViews for Admin,上传到你博客的插件目录,激活即可。最终效果让你可以在 WordPress 后台日志列表页面查看每篇日志的点击数,如下图所示: 在 WordPress 后台日志列表页面查看每篇日志的点击数 标签:WordPress […]

WordPress 技巧:使用 Shortcode 快速插入列表

不知道是不是很多同学和我一样在 WordPress 后台喜欢使用代码模式写日志,总是有种强迫症,感觉使用编辑器会带入无关的代码,自己不能控制所有 。但是使用代码模式写日志有个不好的地方,就是要创建一个列表的时候,需要输入很多代码或者要按很多次 ul/ol/li 这几个按钮。有没有更方便的方法呢?我们可以使用 WordPress Shortcode 实现快速插入列表: 首先将下面的代码复制到当前主题的 functions 文件中,或者直接保存一个插件,并上传激活: <?php /* Plugin Name: WPJAM List Shortcode Plugin URI: http://blog.wpjam.com/m/wordpress-shortcode-for-list/ Description: 使用 Shortcode 快速输入列表。 Version: 0.1 Author: Denis */ add_shortcode( 'list', 'wpjam_list_shortcode_handler' ); function wpjam_list_shortcode_handler( $atts, $content='' ) { extract( shortcode_atts( array( 'type' => '0' ), $atts ) ); $lists = explode("\n", $content); […]

使用 SSH 安装,升级和迁移 WordPress 博客

如果使用 FTP 进行安装,升级或者迁移 WordPress 博客,我们需要把 WordPress 安装包或者资料下载到本地,然后上传到新的服务器,再进行安装,升级或者迁移,这样不仅耗时费力,如果主机在国外的话,传送几百兆数据将会是一场噩梦。 其实如果主机支持 SSH 的话,这一切都会变得很简单并且可以迅速完成,下面我讲解下如何使用 SSH 安装或者迁移 WordPress 博客,以及使用 SSH 体验 WordPress 正在开发的功能。 使用 SSH 安装 WordPress 博客 如果只是在主机上安装一个全新的 WordPress 博客,那么使用 SSH 可以在在非常短的时间完成就完成这一操作: 使用 SSH 登录到主机,并转到要安装 WordPress 博客的目录之下。 使用下面命令从 WordPress.org 下载新版本的 WordPress 安装包。 wget http://cn.wordpress.org/wordpress-3.5.1-zh_CN.tar.gz 这个下载速度会非常快,速度快的话都可以达到 5M/S。 在下载完成之后你需要通过 ls 命令看看下载下来的文件。 使用下面命令解开压缩包: tar -xf wordpress-3.5.1-zh_CN.tar.gz 最后就是一般 WordPress 安装的过程了,这里就不再重复了。 使用 SSH 升级 […]

WordPress 发布 3.5.1 安全更新

WordPress 官方发布 3.5.1 安全更新,这个是 WordPress 发布 3.5 版本之后的第一个常规的版本维护升级更新,修正了 37 个 bug 和 以前版本的一些安全问题。 后台编辑器:防止在极少数情况下,一些特定的 HTML 元素会被意外删除或修改。 媒体:修正新版的媒体管理器的工作流程和兼容的问题。 网络:创建 WPMU 的时候建议适合的 Rewrite 规则。 防止定时发布的日志,在发布的时候会删除特定的 HTML 代码,比如:video embeds。 修正一些错误配置引起的 WordPress 后台的 Javascript 代码失败。 取消插件在启动时因为误用数据和 API 引起的警告。 另外,还有一个 bug 会影响运行在 Windows 服务器上 IIS 的 WordPress 从 3.5 升级到 3.5.1,如果你收到“Destination directory for file streaming does not exist or is […]

防止 Email 地址被机器收集的 WordPress 插件:Antispambot ShortCode

让邮件地址不被机器收集 有时候想在博客中向用户留言告诉他们读者的 email 地址,让用户直接通过 email 地址联系,但是这样简单展示 email 地址被机器收集,然后收到一大堆 spam。 所以我就写个 WordPress 插件:Antispambot ShortCode,让博主使用 WordPress Shortcode 方式在日志内容中输入 email 地址,向用户正确展示邮件地址而无需担心邮件地址被机器收集。 Antispambot ShortCode 使用 Antispambot ShortCode 这个插件使用非常简单,上传激活之后,如果只是简单展示邮件地址,只需要在日志内容输入以下内容: [email]you-email-address@email.com[/email] 显示效果:you-email-address@email.com 查看源代码,你会发现 email 地址 HTML 源代码已经是: you-email-address@ email.com, 这样的代码,机器人是很难收集的,但是普通用户则可以直接阅读,不受影响。 如果你想把 email 地址显示为连接,可以加上 link 参数,如: [email link=”1″]you-email-address@email.com[/email] 显示结果为:you-email-address@email.com 自动隐藏邮件地址 新版已经支持自动隐藏邮件地址防止垃圾邮件,现在也可以直接在日志中输入邮件地址也是能够防止被机器收集。 下载:Antispambot ShortCode 标签:SPAM WordPress Shortcode WordPress 插件

robots.txt 和 WordPress 博客中如何使用

什么是 robots.txt robots.txt(统一小写)是一种存放于网站根目录下的 ASCII 编码的文本文件,它通常告诉网络搜索引擎的爬虫(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎获取的,哪些是可以被获取的。via 维基百科 为什么要使用 robots.txt 可能很多人都巴不得搜索引擎收录越多越好,为什么我们还禁止搜索引擎收录我们某些内容呢?第一是防止 Spider 去访问一些无关的页面,造成服务器的压力,第二,可以防止搜索引擎索引一些重复的页面,使网站的权重更加集中,提高网站的排名。 WordPress 博客怎么使用 robots.txt 下面这个是目前我爱水煮鱼博客使用的 robots.txt 文件: User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /wp-content/plugins/ Disallow: /wp-content/cache/ Disallow: /wp-content/themes/ Disallow: /author/ Disallow: /trackback/ Disallow: /feed/ Disallow: /comments/ Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ 简单说下,它只列了禁止访问的目录: /cgi-bin/ 这个是服务器的 cgi 目录,所以肯定不能索引。 /wp-admin/ 和 /wp-includes/,一个是 WordPress 后台,一个是 […]

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

今天将微信机器人升级到 1.0 版本,这个版本将是一个比较稳定的版本,主要有如下的改进: 修正一些错误和 bug。 新增了特色图片的支持,如果你的日志上传了特色图片,程序会自动获取作为微信的截图。 支持多个关键字搜索,检索的时候只需要将多个关键字使用空格分开即可。 下载:微信机器人 WordPress 插件 1.0 版本 详细介绍:微信机器人 WordPress 插件:让你的微信公众账号自动回复用户 标签:WordPress 插件 微信

WordPress 技巧:调用置顶文章

有些时候我们需要调用 WordPress 置顶文章并单独显示出来,可以通过 WP_Query 来实现,代码如下: <?php $args = array( 'posts_per_page' => -1, 'post__in' => get_option( 'sticky_posts' ) ); $sticky_posts = new WP_Query( $args ); while ( $sticky_posts->have_posts() ) : $sticky_posts->the_post();?> <li> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a> </li> <?php endwhile; wp_reset_query();?> 标签:WordPress 技巧

统计日志在 Feed 中浏览次数的 WordPrss 插件:Feed Post Views

我们知道对于博客来说,很多的用户其实是在 Google Reader 等 RSS 阅读器阅读我们的日志,所以日志大部分流量是在 Feed 中,那么如何统计日志在 Feed 中浏览次数呢? Feed Post Views 就是一个专门统计 Feed 中浏览次数的 WordPrss 插件,通过程序对每篇日志生成一张 1×1 像素的图片,并插入到 Feed 的每篇日志内容的末尾,这样用户在 Google Reader 等 RSS 阅读器中浏览日志的时候,就通过展示这个图片来获取当前日志的浏览次数。 Feed Post Views 这个插件非常简单,上传到 WordPress 插件目录,激活即可,无需任何配置,然后就等待数据的统计,如果有数据之后,在 WP 日志编辑页面会有一个叫做 feed_views 的自定义字段的,里面记录的数据就是这篇日志在 Feed 中的浏览次数(如上图所示)。 当然这个插件还可以结合 WP-Postviews 插件一起使用,展示当前日志的页面和 Feed 浏览次数总和。 下载:Feed Post Views 标签:WordPress 插件 WordPress 自定义字段

WordPress 技巧:按照用户注册时间排序

在 WordPress 后台,用户是按照用户名排序的,并且没有显示注册时间,如果我们希望能够在后台看到用户的注册时间,并且按照注册时间排序,可以通过下面的代码实现: <?php /* Plugin Name: 按照用户注册时间排序 Plugin URI: http://blog.wpjam.com/m/order-by-user-registered-time/ Description: 显示用户注册时间,并按照用户注册时间排序。 Version: 0.1 Author: Denis Author URI: http://blog.wpjam.com/ */ add_filter('manage_users_columns','wpjam_add_users_column_reg_time'); function wpjam_add_users_column_reg_time($column_headers){ $column_headers['reg_time'] = '注册时间'; return $column_headers; } add_filter('manage_users_custom_column', 'wpjam_show_users_column_reg_time',11,3); function wpjam_show_users_column_reg_time($value, $column_name, $user_id){ if($column_name=='reg_time'){ $user = get_userdata($user_id); return get_date_from_gmt($user->user_registered); }else{ return $value; } } add_filter( "manage_users_sortable_columns", 'wpjam_users_sortable_columns' ); function ys_users_sortable_columns($sortable_columns){ $sortable_columns['reg_time'] = […]

WordPress 技巧:给留言序号添加前导零

默认情况下,留言的序号是 1,2,3,4 … 11 这样排下去,如果你想让所有的留言序号位数一样,给它们添加前导零,做成类似:01,02,03,04 … 11 这样的序号,我们怎么处理呢? 我们可以将输出留言序号的代码改成下面的代码: <?php $comments_number = get_comments_number(); echo zeroise($comments_number, 2); ?> 其中 zeroise 函数的第二个参数,就是设置添加前导零之后数字的位数,这里设置为 2,你可以根据你自己的需求设置其他长度。 标签:WordPress 技巧

WordPress 技巧:删除列表页的 Shortcode

有时候我们希望保持首页和其他列表页尽可能的简单,比如不输出 Shortcode: /* Plugin Name: 删除列表页的 Shortcode Plugin URI: http://blog.wpjam.com/m/remove-shortcode-from-archive/ Description: 删除首页和其他列表页的 Shortcode。 Version: 0.1 Author: Denis Author URI: http://blog.wpjam.com/ */ function wpjam_remove_shortcode_from_archive($content) { if ( !is_singular() ) { $content = strip_shortcodes( $content ); } return $content; } add_filter('the_content', 'wpjam_remove_shortcode_from_archive'); 将上面的保存为一个插件,上传激活即可。 更多 WordPress Shortcode 介绍和使用技巧: WordPress 技巧:使用 Shortcode 投放 Google Adsense 广告 WordPress 技巧:在主题的文件中使用 Shortcode […]

WordPress 短代码(Shortcode)详细介绍和使用

WordPress Shortcode 指的是一些使用[]包含的短代码,WordPress 会识别这些短代码并根据短代码的定义输出为特定的内容,Shortcode API 这个功能是 WordPress 从 2.5 版本开始引入的,使用它可以给日志内容添加各种功能,并且 Shortcode 这个接口非常容易使用,并且功能非常强大。 Shortcode 类型 Shortcode API 支持几乎所有可能的组合形式:自关闭标签,开放标签,含有参数的标签等。 [mycode] [mycode foo=”bar” id=”123″ color=”red” something=”data”] [mycode]Some Content[/mycode] [mycode]<p><a href=”http://example.com/”>HTML Content</a<>/p>[/mycode] [mycode]Content [another-shotcode] more content[/mycode] [mycode foo=”bar” id=”123″]Some Content[/mycode] Shortcode 基本概念 首先你要去定义一个函数,来处理你定义的 Shortcode,和它的属性参数以及引用的内容。 function my_shortcode_func($attr, $content) {     // $attr $key=>$value 的数组     // $content 是 […]

WordPress 对象缓存(Object Cache)详细介绍和使用

WordPress 对象缓存简介和服务器设置 WordPress Object Cache(WordPress 对象缓存)是 WordPress 的默认缓存机制,它的主要功能是把负责查询或者运算的结果按照 Key-Value 这样的方式(WordPress 还支持按照 Group 来划分和避免缓存的内容冲突)存储到对象里面,下次进行同样操作的时候,可以让直接从这个对象中取出数据,不用重复到数据库中或者其他外部网站获取数据。 WordPress Object Cache 和服务器设置关系很大,如果系统支持内存缓存,则这个对象是直接存入内存,以后在未过期之前都是直接从内存中读取的,这样效率和速度都非常快的。如果服务器不支持内存缓存的话,则只能保证在当前页面下同样的查询或者操作不再重复从数据库中读取了。 WordPress 对象缓存的函数 使用 WordPress 对象缓存技术其实是非常简单的: 使用 wp_cache_set() 把数据写到缓存中。 使用 wp_cache_get() 到缓存中读取数据。 使用 wp_cache_delete() 删除缓存。 这些函数会涉及到的四个参数: $key: 对象的 key。 $data: 要存的值。 $group: 分组,可选参数,用来把缓存对象就行分组。 $expire: 过期时间,可选参数,如果是默认缓存,这个函数没用,如果是内存缓存,是设置缓存的时间,单位是秒,默认为0(0的意思就是永远,不会自动过期)。 使用 WordPress 对象缓存 下面以我即将更新 WordPress 相关日志插件为例,讲讲如何使用 WordPress 对象缓存: 我们知道 WordPress 相关日志插件是通过 tag 和分类来获取相关日志,相同的 tag […]

WordPress 技巧:让 WordPress 真正支持 jQuery Lazyload

看到很多人在网上说 jQuery lazyload 插件没效果,看了下插件主页说要把图片的地址写入 data-original 属性,loading 图片地址写入 URL 属性就能实现真正图片稍后载入(lazyload)。 如果每张图片都这么改,非常不方便,并且图片在 Feed 中也无法查看,那么我们可以通过 WordPress 强大的 filter Hook,用正则表达式重组一下 img 标签就行了。于是花了点时间写了个貌似很强大代码: add_filter ('the_content', 'lazyload'); function lazyload($content) { if(!is_feed()) { $content=preg_replace('/<img(.+)src=[\'"]([^\'"]+)[\'"](.*)>/i',"<img\$1data-original=\"\$2\" src=\"loading1.gif\"\$3>\n<noscript>\$0</noscript>",$content); } return $content; } 把这段代码扔到当前主题的 functions.php 中,再把 loading1.gif 这个图片地址换成你的 loading 图片地址。再按潜行者m的这篇文章配置下站点的 jQuery 就搞定了。 详细效果,请查看示例。 标签:jQuery WordPress 技巧

WordPress 自定义字段(Custom Fields)详细介绍和使用

什么是 WordPress 自定义字段 我们在使用 WordPress 撰写日志或者页面的时候,都会在编辑框下面看到自定义字段(Custom Fields),那么什么是自定义字段呢?这个 WordPress 自定义字段又是干什么的? WordPress 自定义字段是对 WordPress Posts 表的一种补充和扩展,一般来讲 WordPress 提供了博客日志的作者,分类,标签,时间等,然后你可以根据你的需要自定义出一系列的其他信息,比如我在我爱水煮鱼上面就使用 WordPress 自定义字段记录当前日志的浏览次数和它的bit.ly 的短链接,如下图所示: WordPress 自定义字段 WordPress 自定义字段工作机制 WordPress 自定义字段通常有两个的变量:键 ( key ) 和值 ( value )。比如你想显示你写日志当时的心情,你可以把键叫做 “mood”(心情),显然在这里值就是 “高兴” 或者 “愤怒”。 当我们为某篇日志或者页面创建一个自定义字段的时候,我们所写的信息将会存储到该日志或者页面中。换句话说,我们所创建的自定义字段的的数据是属于当前的日志或者页面,所以我们能够显示当前日志或者页面相关的自定义字段信息。 如何在博客上显示自定义字段的数据 当我们想显示日志或者页面的自定义字段的时候,我们有几种方法。这里介绍两种简单的方法和一些更高级的用法。 首先,可以使用 the_meta() 这个模版函数,它会自动输出一个无序的列表,如下所示: Key1: Value of “Key1″ Key2: Value of “Key2″ Key3: Value of “Key3″ 第二个函数是:get_post_meta($post_id, […]

WordPress 技巧:自定义 WordPress 表情图片路径

很多同学在使用 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 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 技巧:获取特色图片地址

我们知道 WordPress 可以在后台设置一张特色图片作为日志缩略图,但是我们如何获取这张特色图片的地址呢? <?php /* Plugin Name: 获取 WordPress 特色图片地址 Plugin URI: http://blog.wpjam.com/m/get_post_thumbnail_url/ Description: 获取 WordPress 特色图片地址。 Version: 0.1 Author: Denis Author URI: http://blog.wpjam.com/ */ function get_post_thumbnail_url($post_id){ $post_id = ( null === $post_id ) ? get_the_ID() : $post_id; $thumbnail_id = get_post_thumbnail_id($post->ID); if($thumbnail_id ){ $thumb = wp_get_attachment_image_src($thumbnail_id, 'thumbnail'); return $thumb[0]; }else{ return false; } } 将上面的代码复制到当前主题的 […]

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

100% Secure Checkout

PayPal / MasterCard / Visa