如果你给 WordPress 定义了几个自定义日志类型(Custom Post Type)之后,如果其他插件需要获取自定义日志类型的时候,怎么获取呢?我定义了下面这个函数,去掉了内置的‘post’,‘page’,‘attachment’,‘revision’,‘nav_menu_item’,直接获取自定义的日志类型: function wpjam_get_custom_post_types(){ $args=array(‘public’ => true, ‘_builtin’ => false); $output = ‘names’; $operator = ‘and’; return get_post_types($args,$output,$operator); } 标签:WordPress 技巧
日志
WordPress 技巧:如何显示特定分类下的日志
很多时候,我们想显示特定分类下的日志。代码如下: <ul class="news"> <?php query_posts(‘cat=6&showposts=5’); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 标签:WordPress 技巧

WordPress 日志类型转换插件:Post Type Switcher
我们知道 WordPress 默认就有 日志(Post),静态页面(Page)等默认日志类型(Post Type),WordPress 3.0 版本之后,WordPress 又可以让开发者自定义日志类型(Custom Post Type),那么当你撰写日志的时候,想从一个日志类型转换到另外一种日志类型,怎么办呢?推荐你用 Post Type Switcher 插件。 Post Type Switcher 这个 WordPress 插件可以让你把 Post 转换成 Page,Page 转换成 Post,以及其他自定义日志类型进行自由转换非常方便。安装之后,在日志编辑页面的“发布”按钮上面,就有个修改日志类型的下拉菜单,点击要改成的日志类型,点击 OK 即可,非常方便。 WordPress 日志类型转换插件:Post Type Switcher 下载:Post Type Switcher。 标签:WordPress 插件
使用 WP-Postviews 统计日志浏览次数
WP-Postviews 是我一直推荐的插件之一,它可以在统计每篇日志被浏览的次数,通过对每篇日志的统计,这样我就可以知道哪些日志受读者欢迎,并且可以实现博客日志流量 Top 10 等功能,非常方便和强大。并且最新版的 Postviews 还支持缓存,在你的博客使用 WP Super Cache 等缓存插件缓存之后,它照样还可以进行统计。 WP-Postviews 安装和设置 WP-Postviews 安装非常简单,只要上传和激活即可。然后到 WP 后台 > 设置 > Postviews 配置输出: 首先它可以让你设置统计那些用户的浏览,everyone 是统计所有人,guest 是普通用户,registered user only 只统计注册用户 。 Postviews 可以让你选择是否统计蜘蛛爬虫的浏览。 设置显示的模板 它还可以让你显示浏览次数最多的日志列表的模板 另外它还能详细设置哪些页面可以显示日志的浏览此数和显示给谁,我觉得这个貌似有点多余了。 当你卸载 Postviews 的时候,它还可以让你把写入到 options 的选项删除了。 WP-Postviews 使用 要让你的博客在页面上显示浏览次数,你需要修改你博客当前使用的主题,在主循环中插入以下代码: <?php if(function_exists(‘the_views’)) { the_views(); } ?> 你可能需要修改 index.php, archive.php, single.php, post.php 或者 page.php […]
WordPress 技巧:如何获取日志内容的第一段
如果日志没有填摘要,使用日志的第一段作为摘要是不错的选择,那么如何获取日志内容的第一段呢?可以使用下面的函数: function get_first_p($post){ //如果是使用 Windows Live Writer 这些工具写日志,可能使用<p>和</p>进行分段 if(preg_match(‘/<p>(.*)<\/p>/iU’,trim(strip_tags($post->post_content,”<p>”)),$matches)){ return $matches[1]; } else { //如果直接在 WordPress 写日志,使用换行符(\n)来分段 $post_content = explode(“\n”,trim(strip_tags($post->post_content))); return $post_content [‘0’]; } } 标签:WordPress 技巧
WordPress 技巧:如何获取日志内容的第一段
如果日志没有填摘要,使用日志的第一段作为摘要是不错的选择,那么如何获取日志内容的第一段呢?可以使用下面的函数: function get_first_p($post){ //如果是使用 Windows Live Writer 这些工具写日志,可能使用<p>和</p>进行分段 if(preg_match(‘/<p>(.*)<\/p>/iU’,trim(strip_tags($post->post_content,”<p>”)),$matches)){ return $matches[1]; } else { //如果直接在 WordPress 写日志,使用换行符(\n)来分段 $post_content = explode(“\n”,trim(strip_tags($post->post_content))); return $post_content [‘0’]; } } 标签:WordPress 技巧
WordPress 技巧:通过 ID 快速获取日志内容
如果已经知道 ID,我们一般可以通过下面的代码获取日志内容: $post = get_post($post_id); $post_content = $post->post_cotent; 其实我们可以通过 get_post_field 这个函数更简单更快速的方式获取日志内容: $post_content = get_post_field(‘post_content’, $post_id); 实际上这个函数还可以用来快速获取日志的其他字段,详细可以参考 get_post_field 函数的 codex 页面。 标签:WordPress 技巧
WordPress 技巧:在特定日志类型中进行搜索
如果你的 WordPress 使用了多个日志类型(Post Type),并且只想在搜索结果中只显示特定的日志类型,可以在 functions.php 文件中添加如下代码。 function wpjam_search_filter($query) { if ($query->is_search) { $query->set(‘post_type’, ‘your_post_type’); } return $query; } add_filter(‘pre_get_posts’,’wpjam_search_filter’); 注意需要将第三行的 your_post_type 改成你要搜索的日志类型的名称。 标签:WordPress 技巧
屏蔽 WordPress 日志修订功能
WordPress 2.6 已经发布了。其中有个功能叫做日志修订,个人觉得对我完全没用,我用 WordPress 完全是用来写博客的,搞个日志修订功能,每个修订都会在 posts 表中插入一条记录,上次我写了一篇文章,多修改了几次,给我多插入10多个修订版本,汗死了。这样子我每片日志都有10多条记录在 posts 表中,那么到时候文章一多,不把表撑爆才怪,数据一多,查询肯定慢,WordPress 的效率已经很低了,不知道为什么还要出这样的东东。没办法只有取消掉。 原本准备开发一个插件屏蔽这个功能,后发现其实 WordPress 已经留了接口。在 wp-setting.php 中新增了一个变量 WP_POST_REVISIONS,把它设置为 false 就可以屏蔽 WordPress 日志修订功能。在 wp-config.php 添加的代码如下: define(‘WP_POST_REVISIONS’, false); 关于 WP_POST_REVISIONS 这个常量的详细设置为: true(默认)或者 -1:保存所有修订版本 false 或者 0:不保存任何版本(除了自动保存的版本) 大于 0 的整数 n:保存 n 个修订版本(+1 只保存自动保存版本),旧的版本将被删除。 标签:WordPress 技巧
WordPress 技巧:获取日志中的第一个链接
我们知道 WordPress 日志格式(Post format)中有个 link 的格式,如果你的主题启用了 Post format 功能并且使用了 Link 这个格式,那么你想这篇日志直接链接到日志中的第一个链接。 function get_content_first_link( $content = false){ if ( $content === false ) $content = get_the_content(); preg_match_all(‘/<a.*?href=[\'”](.*?)[\'”].*?>/i’, $content, $links); if($links){ return $links[1][0]; }else { return false; } } 将上面的代码复制到当前主题的 functions.php,然后使用下面的方式引用: <h2><a href=”<?php echo get_content_first_link(get_the_content()); ?>”><?php the_title(); ?></a></h2> 标签:WordPress 技巧
使用 WordPress 自定义字段来显示日志缩略图
WordPress 最强大的地方是它强大的可定制性,其中 WordPress 自定义字段(Custom Fields)就是 WordPress 能够进行灵活定制的奥秘之一,我们 WordPress JAM 团队的企业网站案例阳诺太阳能就是大量使用 WordPress 自定义字段。 是的,WordPress 自定义字段使用的好,能够把 WordPress 博客转变成一个完全定制化的 CMS 站点。这篇就来讲讲 WordPress 自定义字段的一个非常广泛的用途:使用 WordPress 自定义字段来显示日志缩略图。 首先应该能够上传图片到你的服务器,可以通过 FTP 工具或者在 WordPress 后台通过其他任何 WordPress 插件上传图片。(目前我们给客户制作的主题不用那么复杂,直接从后台直接就可以上传缩略图)。 在撰写新日志的页面,向下滚动到一个叫做自定义字段(Custom Fields)的地方,点击按钮展开它。 在 Key 字段输入 “image_thumb”,然后在 “Value” 字段输入你刚才上传的图片的 URL。 然后继续你写日志的常规动作,增加标题,输入内容,选择分类,最后发布。 现在打开当前主题的 index.php 文件,搜索到下面这行: <?php the_content('Read the rest of this entry »'); ?> 这上面这行之前添加以下代码: <a href="<?php the_permalink() […]

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

统计日志在 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 日志缩略图(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 插件: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 技巧
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 技巧

