我们知道 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 有个日志缩略图的功能(特色图像),需要你自己上传一张图片或者选择已有的图片,然后设置为特色图像,这样就可以在博客首页或者其他地方即可使用。但是这样比较麻烦,需要每次都要上传或者选择下,是否可以有更简洁的方法,其实我们还可以直接获取日志中的第一张图片。 function get_content_first_image($content){ if ( $content === false ) $content = get_the_content(); preg_match_all(‘|<img.*?src=[\'”](.*?)[\'”].*?>|i’, $content, $images); if($images){ return $images[1][0]; }else{ return false; } } 将上面的代码复制到当前主题的 functions.php,然后使用下面的方式引用: <img src=”<?php echo get_content_first_image(get_the_content()); ?>” alt=”<?php the_title_attribute(); ?>” /> 标签:WordPress 技巧

WordPress 技巧:获取上下篇日志的链接、标题、特色图像
我们知道 WordPress 官方提供了 previous_post_link()与 next_post_link() 这两个函数标签来制定当前文章所属分类里面的上下篇文章,但是如果要获取上下篇文章的其他参数,比如链接、标题、特色图像,实现下图的效果:我们该如何处理呢? 涉及到 WordPress 函数标签 get_next_post get_previous_post get_permalink get_the_title get_the_post_thumbnail 实现代码 <div class=”post-PrevNext”> <?php $current_category = get_the_category();//获取当前文章所属分类ID $prev_post = get_previous_post($current_category,”);//与当前文章同分类的上一篇文章 $next_post = get_next_post($current_category,”);//与当前文章同分类的下一篇文章 ?> <div class=”previous_post_link”> <?php if (!empty( $prev_post )): ?> <a href=”<?php echo get_permalink( $prev_post->ID ); ?>”><?php echo get_the_post_thumbnail( $prev_post->ID, ”, ” ); ?></a> 上一篇: <a href=”<?php echo get_permalink( […]
WordPress 技巧:在后台仪表盘显示待审日志列表
前面更换域名的日志中提到我爱水煮鱼将引入更多的作者来给大家介绍 WordPress 和其他互联网开源技术,目前供稿的作者的权限都是投稿者(contributor),它们写好日志之后,状态是待审的,这样就产生了一个问题,有时候是不会注意到有日志需要审核的,所以最好的办法就是在 WordPress 后台的首页(就是仪表盘)直接显示待审日志列表: add_action(‘wp_dashboard_setup’, ‘wpjam_modify_dashboard_widgets’ ); function wpjam_modify_dashboard_widgets() { global $wp_meta_boxes; if(current_user_can(‘manage_options’)){ //只有管理员才能看到 add_meta_box( ‘pending_posts_dashboard_widget’, ‘待审日志’, ‘pending_posts_dashboard_widget_function’,’dashboard’, ‘normal’, ‘core’ ); } } function pending_posts_dashboard_widget_function() { global $wpdb; $pending_posts = $wpdb->get_results(“SELECT * FROM {$wpdb->posts} WHERE post_status = ‘pending’ ORDER BY post_modified DESC”); echo ‘<ul>’; foreach ($pending_posts as $pending_post){ echo ‘<li><a href=”‘.admin_url().’post.php?post=’.$pending_post->ID.’&action=edit”>’.$pending_post->post_title.'</a></li>’; } echo ‘</ul>’; […]
支持全平台的 WordPress 视频插件:WPJAM Video
前面我介绍过使用 WordPress 的 Embed 功能快速插入优酷视频,不过通过这样方式插入的代码是 Flash 代码。而 iOS 系统一直不支持 Flash,所以很多 WordPress 用户写博客的时候,在插入优酷视频的 Flash 代码之后,都要添加一段话,比如:iOS 用户请点该链接查看,这样用户体验非常差,读者看视频也非常不方便。 WPJAM Video 介绍 优酷全站支持 iPad 和 iPhone,所以我研究了下优酷的 HTML5 播放器,开发这个插件,让 WordPress 博主能够非常方便在文章中插入优酷视频,支持全平台播放,在 PC 上使用 Flash 播放器播放,在 iPhone 和 iPad 上使用 HTML5 播放器播放,并且还支持缓存插件。 WPJAM Video 使用 WPJAM Video 使用也是非常简单的,它是基于 WordPress Shortcode API 实现的: 下载 WPJAM Video。 解压之后上传到插件目录,并激活。 通过以下方式添加视频: 默认情况下,视频是 480 宽,400 高,如果你要把宽度和高度设置为 […]

微博“赞” WordPress 插件:让你快速嵌入新浪微博“赞”按钮
在微博 Web 版和微博手机客户端相继上线赞按钮之后,新浪微博现在推出了可嵌入到第三方网站的赞按钮。 通过微博赞按钮,让你的用户轻松表达态度,当用户在你的站点上某个网页点击了赞按钮后,同时会同步一条包含网页内容的动态信息到微博显示。 使用微博“赞”按钮有什么好处? 1. 随时随地轻松表达态度 用户浏览网页,发现喜欢的内容,通过“赞”按钮只需轻松点击一下,即可表达心情,方便快捷 2. 发现好友 “赞”按钮同时会显示已表达态度的用户,如果您的微博好友也“赞”过,那么您将看到她/他 3. 内容同步分享 点击按钮后,用户会同步一条包含对象内容的动态信息到微博中,通过微博继续传播 WordPress 赞按钮插件 根据新浪官方文档,在网站添加赞按钮,需要修改好几个地方,非常麻烦,我制作了一个简单的 WordPress 插件,你只需上传激活,就可以在博客上快速嵌入新浪微博“赞”按钮。 下载:微博“赞” WordPress 插件 标签:WordPress 插件 新浪微博

WordPress 文章目录插件
SEO 页面优化:语义化 我们知道语义化是 SEO 页面优化的一个重点的内容,语义化不仅仅是可以尝试使用 HTML5 去重写博客主题,还有使用 H2 H3 标签让博客日志内容也更有层次化和语义化。 而使用了 H2 H3 这些标签之后,可以建立锚点链接,建立文章目录,这样不仅方便博客的读者可以一目了然知道文章的内容是讲什么,并且我么 Google 现在已经可以索引内部锚点链接。 WordPress 文章目录插件来源 对于 WordPress 博客来说,平常写博客的时候,就应该注意语义化,比如列表页,网站题目是 H1 标签,文章标题是 H2 标签,而文章页面,则标题是 H1 标签,内文从 H2 标签开始试用。 当做好上面的语义化之后,怎么自动生成锚点和文章目录呢? 现有文章目录 WordPress 插件也都有几个,但是使用都有一些麻烦,写的很复杂还要配置,不符合我使用插件的习惯,我个人的感觉就是插件只需要简单上传激活就好了,所以就有了这个 WordPress 文章目录插件。 WordPress 文章目录插件安装和使用 WordPress 文章目录插件非常简单,就是在日志的右侧加入一个文章目录,让整篇日志更好导航,读者也可以在阅读之前知道这篇文章的大概意思。 WordPress 文章目录插件 正如上面所说,这个插件异常简单,只需要上传激活即可。但是在编辑文章的时候,文章中的子标题需要按照 h2 h3 排好,插件会自动抓取的。 当然你也可以在编辑日志的时候,设置是否隐藏文章目录,以及显示到第几级目录和文章目录的位置(通过在日志中输入 [toc] 来实现定位)。 WordPress 文章目录插件设置 WordPress 文章目录插件效果 你可以通过点击这篇文章查看效果: 主机推荐:(mt) Media […]
域名更换为 blog.wpjam.com
经常关注我爱水煮鱼的同学,可能已经发现,我爱水煮鱼已经更换域名了,好吧,经过昨天超过10几个小时的奋战,终于把博客的域名从 fairyfish.net 换成 blog.wpjam.com。订阅地址也更改为:http://blog.wpjam.com/feed/,订阅的用户更改下吧。 为什么更换域名呢? 这是一个纠结了很久的问题,毕竟 fairyfish.net 这个域名,我已经使用超过了 5 年,还是蛮有感情的,但是这个域名除了其中的 fish 和水煮鱼有那么一点关系之外,前面的 fairy 真的很多人都不知道什么意思,其实我自己也不知道什么意思 只是当时糊里糊涂就申请了一个这样的域名。 还是从自己的历程说起吧,07 年的时候,自己想做一个网站,记录一些好玩的东西,选择使用 WordPress,后面在折腾 WordPress 的过程,反而对 WordPress 越来越感兴趣,内容基本上都是关于 WordPress 使用技巧,插件,主题,以及互联网其他相关技术等等,所以这个域名基本上也和内容没有什么关联了。 由于对 WordPress 越来越熟悉,我开始使用 WordPress 给朋友和商家建站,为了宣传这个业务,我购买了 wpjam.com 这个域名,所以一直想把自己的博客也是用 wpjam.com 这个域名一起,但是一直拖着,越来越多的朋友都和我说,经常来我的博客,但是都是搜索引擎来的,从来都没有记住过我的域名,好吧,是应该换了,所以最后决定启用:blog.wpjam.com 这个域名。 使用 blog.wpjam.com 又会存在一个问题,和博客名字我爱水煮鱼,完全没有关系,我又纠结了,但是至少比原来的好,大家知道 blog.wpjam.com 是一个关于 WordPress 技巧和使用经验的博客就好了,对吧? 大家觉得呢? WordPress MU 迁移的过程是简单而痛苦的,中间又忙其他事情,所以花费了10几个小时:使用 SSH 迁移博客数据,使用 SSH 导入和导出数据库,批量替换内容中的旧域名链接,调试插件和新主题,旧域名使用 301 跳转到新域名 ⋯⋯,总之最后完成了。 和原来不同的是,现在的我爱水煮鱼是运行在 WordPress MultiSite […]

Optimize DB:在 WordPress 后台优化 MySQL 数据库
为什么需要优化数据库 随着 MySQL 的使用,包括 BLOB 和 VARCHAR 字节的表将变得比较繁冗,因为这些字段长度不同,对记录进行插入、更新或删除时,会占有不同大小的空间,记录就会变成碎片,且留下空闲的空间。就像具有碎片的磁盘,会降低性能,需要整理,因此要优化。 如何优化 WordPress 数据库 而 WordPress 使用的数据库正是 MySQL,所以当你觉得 WordPress 速度比较慢的时候,对 MySQL 进行优化下,可以相当程度上提高 WordPress 的速度。我们可以通过 PHPMyAdamin 对 MySQL 表进行优化: 在 PHPMyAdmin 优化 MySQL 表 使用 Optimize DB 插件在WordPress 后台直接优化 MySQL 数据库 但是如果每次都要进入 PHPMyAdmin 优化 MySQL表,这样是非常麻烦的,今天推荐的插件:Optimize DB 就能让你在 WordPress 后台直接优化 MySQL 数据表。 该插件安装非常简单,上传激活即可,激活之后,在 WordPress 后台 > 工具(Tools) > Optimize DB […]
WordPress 技巧:批量删除不用的标签
WordPress 使用的过程中,会产生一些标签被废弃不用,时间久了,这类标签就会增多,一个个删除太累,就是批量删除,查看了下,WordPress 的分类模式,得出以下两条用于批量删除不用的标签的 SQL 语句: DELET a FROM wp_terms a,wp_term_taxonomy b WHERE a.term_id = b.term_id AND b.count=0 AND b.taxonomy=’post_tag’ DELETE b FROM wp_term_taxonomy b WHERE b.count=0 AND b.taxonomy=’post_tag’ 标签:WordPress 技巧 WordPress 数据库
WordPress 数据库维护时常用到 12 个 SQL 语句
虽然通过 WordPress 强大的插件库,你几乎可以干任何的事情,但是有时候需要快速修复一些特定的问题的时候,直接操作数据库可能反而是方便的方法,所以这篇文章就给大家介绍 WordPress 数据库维护时常用到 12 个 SQL 语句。 *注:下面假设 WordPress 数据库的表的前缀都是默认的“wp_”。 1. 直接在数据库中修改密码 密码忘记了是经常的事情,博客密码忘记了进不去,可以直接在数据库里面修改: UPDATE wp_users SET user_pass = MD5(‘PASSWORD’) WHERE user_login = ‘admin’ 上面采用了 MySQL 的 MD5() 函数讲密码转成 MD5 Hash。 2. 将日志从一个作者转移到另外一个 假如你的博客的某个作者离开了,或者你不想让“admin”作为作者名,想把日志的作者从一个改到另外一个: UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID; *注:你需要知道两个作者的 user id。 3. 删除数据库中日志修订记录和其相关的 post_meta 数据 特别是针对多人博客的时候,日志修订功能很重要,但是日志修订功能也在数据库里面添加了很多的数据,假设你的博客只有 100 篇日志,每篇日志有 10 个日志修订,你的 posts 表中就会有超过 […]
Canonical 标签以及在 WordPress 中的应用
Canonical 标签,中文叫做 URL 范式,是 Google,雅虎,微软等搜索引擎在2009年一起推出的一个标签(百度在2013年也终于支持),它主要用来解决由于 URL 形式不同而造成的重复内容的问题。 Canonical 标签简介和使用 如下面这两个 URL: http://blog.wpjam.com/article/canonical-tag-and-wordpress/ http://blog.wpjam.com/article/canonical-tag-and-wordpress/trackback/ 这两个 URL 的形式不同,第一个是日志 的 URL,第二个是日志 Trackback 的 URL,不过他们的内容都是相同的,都是“Canonical 标签以及在 WordPress 中的应用”这篇日志的内容,对于搜索引擎来说,这样两个不同的 URL 是无法判断是同一篇日志的,搜索引擎为了更多收录内容,就会同时收录这两个链接,这样就造成了搜索引擎收录重复内容的问题,所以 Canonical 标签就是用来解决这个问题的。 简单说就是在网页的 html 加上这样一段代码: <link rel=’canonical’ href=’http://blog.wpjam.com/article/canonical-tag-and-wordpress/’ /> 那么任何含有这个标签的网页,不管他最终的 URL 是怎么样的形式,搜索引擎最终都会只收录 Canonical 标签指定的那个。 使用跟踪参数等等原因造成 URL 形式不同是不可避免的,所以 Canonical 对于搜索引擎来说就非常重要了,对一组内容完全相同或高度相似的网页,通过使用 Canonicl 标签可以告诉搜索引擎哪个页面为规范的网页,能够规范网址并避免搜索结果中出现多个内容相同或相似的页面,帮助解决重复内容的收录问题,避免网站相同内容网页的重复展示及权重的分散,提升规范网页的权重,优化规范网页的排名。 所以强烈建议站长们都在自己的网站上使用 Canonical 这个标签。 WordPress 默认支持 Canonical 标签 在 […]
WordPress 搬家应该注意的6件事情
1、备份程序 除了 WordPress 自身程序以外的所有文件,如附件,logo,主题等 2、备份数据库 可以用 PHPMyAdmin 等备份数据库 3、安装程序 上传第1步备份的文件到新空间,下载 WordPress 全新程序到新空间,将 wp-config.php 里面的数据库信息填写为新空间的数据库信息 4、导入数据库 将第2步备份的数据库导入新空间数据库 5、解析域名 将域名解析到空间指定的IP,等待(快的几分钟,最慢不超过48小时) 6、重设固定链接 等第5步生效后,访问网站后台,设置 – 固定链接 – 保存一次之前的固定链接。
使用 WordPress 的 Embed 功能快速插入优酷视频
在 WordPress 的 Easy Embeds 的功能让你通过直接发布一个 URL(需要单独一行,纯文本,不带链接才行),就能把这个 URL 中的视频显示到 WordPress 博客上,并且会根据博客的布局调整视频的大小。 但是默认不支持国内的优酷这个视频分享网站,我根据 WordPress 的 Embeds 接口制作了下面的插件,让你的 WordPress 博客通过一行链接就能发布优酷的视频,而无需去查找优酷的复杂而麻烦的 flash 嵌入代码。 function wp_embed_handler_youku( $matches, $attr, $url, $rawattr ) { // If the user supplied a fixed width AND height, use it if ( !empty($rawattr[‘width’]) && !empty($rawattr[‘height’]) ) { $width = (int) $rawattr[‘width’]; $height = (int) $rawattr[‘height’]; […]
WordPress 技巧:恢复链接管理器
WordPress 3.5 发布的时候,为了更加简洁易用,WordPress 就把一些不太常用的代码从核心代码中取消或者禁用,比如全新安装的 WordPress 博客在后台就没有链接管理器。但是如果你还是有很多朋友,需要交换链接,怎么办呢?WordPress 提供接口: add_filter( ‘pre_option_link_manager_enabled’, ‘__return_true’ ); 将上面的代码复制到当前主题的 functions.php 文件即可。 标签:WordPress 技巧
Canonical 标签以及在 WordPress 中的应用
Canonical 标签,中文叫做 URL 范式,是 Google,雅虎,微软等搜索引擎在2009年一起推出的一个标签(百度在2013年也终于支持),它主要用来解决由于 URL 形式不同而造成的重复内容的问题。 Canonical 标签简介和使用 如下面这两个 URL: http://blog.wpjam.com/article/canonical-tag-and-wordpress/ http://blog.wpjam.com/article/canonical-tag-and-wordpress/trackback/ 这两个 URL 的形式不同,第一个是日志 的 URL,第二个是日志 Trackback 的 URL,不过他们的内容都是相同的,都是“Canonical 标签以及在 WordPress 中的应用”这篇日志的内容,对于搜索引擎来说,这样两个不同的 URL 是无法判断是同一篇日志的,搜索引擎为了更多收录内容,就会同时收录这两个链接,这样就造成了搜索引擎收录重复内容的问题,所以 Canonical 标签就是用来解决这个问题的。 简单说就是在网页的 html 加上这样一段代码: <link rel=’canonical’ href=’http://blog.wpjam.com/article/canonical-tag-and-wordpress/’ /> 那么任何含有这个标签的网页,不管他最终的 URL 是怎么样的形式,搜索引擎最终都会只收录 Canonical 标签指定的那个。 使用跟踪参数等等原因造成 URL 形式不同是不可避免的,所以 Canonical 对于搜索引擎来说就非常重要了,对一组内容完全相同或高度相似的网页,通过使用 Canonicl 标签可以告诉搜索引擎哪个页面为规范的网页,能够规范网址并避免搜索结果中出现多个内容相同或相似的页面,帮助解决重复内容的收录问题,避免网站相同内容网页的重复展示及权重的分散,提升规范网页的权重,优化规范网页的排名。 所以强烈建议站长们都在自己的网站上使用 Canonical 这个标签。 WordPress 默认支持 Canonical 标签 在 […]
优化 WordPress 数据库,提高 WordPress 速度
WordPress 的机制是主要使用 wp_posts 表来存储所有数据,包括日志,页面,附件,导航菜单等等,所以 WordPress 使用了一定时间之后,数据量一大还是有点慢,除了对 WordPress 进行全方面的优化之外,我们还可以对数据表进行减肥和优化,来提高 WordPress 的速度。 1. 删除所有日志修订 日志修订是所有速度慢的罪恶之源,几百篇日志会有几千条日志修订的记录,所以用力删除把,提速效果非常明显: DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = ‘revision’ 2. 关闭日志修订 日志修订不是好东西,你可以关闭它或者限制数据库存的修订个数: 关闭日志修订: define(‘WP_POST_REVISIONS’, false); 限制日志修订为最新的3个: define(‘WP_POST_REVISIONS’, 3); 3. 优化 wp_posts 表 对 MySQL 数据记录进行插入、更新或删除时,会占有不同大小的空间,记录就会变成碎片,且留下空闲的空间。就像具有碎片的磁盘,会降低性能,需要整理,因此要优化。 OPTIMIZE […]
WordPress 搬家应该注意的6件事情
1、备份程序 除了 WordPress 自身程序以外的所有文件,如附件,logo,主题等 2、备份数据库 可以用 PHPMyAdmin 等备份数据库 3、安装程序 上传第1步备份的文件到新空间,下载 WordPress 全新程序到新空间,将 wp-config.php 里面的数据库信息填写为新空间的数据库信息 4、导入数据库 将第2步备份的数据库导入新空间数据库 5、解析域名 将域名解析到空间指定的IP,等待(快的几分钟,最慢不超过48小时) 6、重设固定链接 等第5步生效后,访问网站后台,设置 – 固定链接 – 保存一次之前的固定链接。
使用 WordPress 的 Embed 功能快速插入优酷视频
在 WordPress 的 Easy Embeds 的功能让你通过直接发布一个 URL(需要单独一行,纯文本,不带链接才行),就能把这个 URL 中的视频显示到 WordPress 博客上,并且会根据博客的布局调整视频的大小。 但是默认不支持国内的优酷这个视频分享网站,我根据 WordPress 的 Embeds 接口制作了下面的插件,让你的 WordPress 博客通过一行链接就能发布优酷的视频,而无需去查找优酷的复杂而麻烦的 flash 嵌入代码。 function wp_embed_handler_youku( $matches, $attr, $url, $rawattr ) { // If the user supplied a fixed width AND height, use it if ( !empty($rawattr[‘width’]) && !empty($rawattr[‘height’]) ) { $width = (int) $rawattr[‘width’]; $height = (int) $rawattr[‘height’]; […]
使用 WordPress 的 Embed 功能快速插入土豆视频
WordPress 的 Easy Embeds 的功能让你通过直接发布一个 URL(需要单独一行,纯文本,不带链接才行),就能把这个 URL 中的视频显示到 WordPress 博客上,并且会根据博客的布局调整视频的大小。 但是 WordPress 默认不支持国内的土豆这个视频分享网站,我根据 WordPress 的 Embeds 接口制作了下面的插件,让你的 WordPress 博客通过一行链接就能发布土豆的视频,而无需去查找土豆的复杂而麻烦的 flash 嵌入代码。 function wp_embed_handler_tudou( $matches, $attr, $url, $rawattr ) { // If the user supplied a fixed width AND height, use it if ( !empty($rawattr[‘width’]) && !empty($rawattr[‘height’]) ) { $width = (int) $rawattr[‘width’]; $height = (int) […]

WordPress 技巧:禁用 auto-embeds (oEmbed)
WordPress 3.5 版本的升级,为了使得后台 UI 和体验更加简洁,就把一些不太常用的选项给隐藏,不让用户设置,防止用户思考和迷惑,其中 WordPress 2.9 引进的 auto-embeds 选项就取消。 默认就是激活状态,但是我们知道 WordPress Easy Embeds 支持的网站大部分都是国外的网站,对于我们用处也不大,如果我们想禁用 auto-embeds (oEmbed) 功能怎么办呢? 我们发现在 WP_Embed Class 中的构造函数中有如下的 filter: add_filter( ‘the_content’, array( $this, ‘autoembed’ ), 8 ); 所以我们只需要把这个 fliter 删除即可,但是我们不能使用 $this 这个变量,需要用到 $wp_embed 这个全局变量: // Disable auto-embeds for WordPress >= v3.5 remove_filter( ‘the_content’, array( $GLOBALS[‘wp_embed’], ‘autoembed’ ), 8 ); 代码自然贴到当前主题的 functions.php […]

使用 WordPress 的 Easy Embeds 功能
WordPress 的 Easy Embeds 功能 有没有想过,只需要在日志中输入一个视频网站或者图片分享的 URL,这个 URL 里面含有的视频或者图片就自动显示出来?这样是不是很 Cool,这个就是 WordPress 的 Easy Embeds 的功能,让你直接发布一个 URL(需要单独一行,纯文本,不带链接才行),就能把这个 URL 中的视频显示到博客上,并且会根据博客的布局调整视频的大小。 比如,在日志中直接输入这个 instagram 地址: http://instagram.com/p/TSZleFg3A3/ WordPress 就会自动把这个 URL 转化成 instagram 该页的照片: 这个就是 WordPress 2.9 引入的 Easy Embeds 功能,需要将 WordPress 的 “Auto-embeds” 的功能打开: 到了 WordPress 3.5 版本之后,WordPress 就默认支持这个功能了,没有了上面的选项。 另外还可以使用 这个 shortcode 来显示图片,使用 shortcode 就不再需要把链接放到独立的一行了。 [http://instagram.com/p/TSZleFg3A3/] oEmbed 这个 Easy Embeds […]
WordPress 技巧:在主题的文件中使用 Shortcode
如果你想用在主题文件中使用名为 [my_shortcode] 的 Shortcode,你只需要按照下面的方式使用 do_shortcode() 函数即可: <?php echo do_shortcode("[my_shortcode]"); ?> Shortcode 详细介绍和更多技巧: WordPress 技巧:使用 Shortcode 投放 Google Adsense 广告 WordPress 技巧:在侧边栏 Widgets 中使用 Shortcode WordPress 短代码(Shortcode)详细介绍和使用 WordPress 技巧:如何解决 Shortcode 中自动添加的 br 或者 p 标签 WordPress 技巧:使用 Shortcode 快速插入列表 WordPress 技巧:删除列表页的 Shortcode 标签:WordPress Shortcode WordPress 技巧
WordPress 技巧:使用 Shortcode 投放 Google Adsense 广告
前面我介绍了 Google Adsense 个人经验总结,今天介绍一个 WordPress 技巧:使用 WordPress 的 Shortcode API 投放 Google Adsense 广告,让你非常方便在文章的正文中插入广告,并且根据内容灵活控制位置,提高点击率。 一般来说我们投放 Google Adsense 广告都是修改主题或者通过插件插入到文章的左侧,最后等,或者使用 Widget 放入侧边栏等等。但是如果你想在文章的中间插入广告,那么通过技术方式还是比较难以实现或者实现的不是很完美。请示我们可以使用 WordPress 的 Shortcode 来投放 Google Adsense 广告,非常方便。首先简单来了解下什么是 Shortcode。 什么是 Shortcode Shortcode API 是 WordPress 2.5 之后新增的一个功能,简单的说就是事先定义一组的函数,由此生成对应的一个简单的短代码,然后在内容的正文中的任何地方插入这个短代码,就会调用预先定义的函数。比如:[galley] 就是调用 WordPress 默认的相册的短代码,当然也可以带有参数。更详细信息可以参考: WordPress Shortcode 介绍和详细使用 使用 Shortcode 投放 Google Adsense 广告 把下面的代码保存到你当前的主题的 functions.php,或者上传到插件目录下并激活。 <?php /* Plugin Name: Shorcode […]
WordPress 技巧:如何解决 Shortcode 中自动添加的 br 或者 p 标签
我们在使用 WordPress Shortcode API 开发插件的时候,有个比较麻烦的问题,就是 WordPress 会自动在 shortcode 内添加 br 或者 p 标签,这样可能会打乱你的原先预想的 HTML 结构和布局。 造成这个问题的原因是 WordPress 默认的日志内容处理流程中,wpautop(将回车转换成 p 或者 br 标签的函数)是在 Shortcode 前面运行的。所以我们的解决方案也是非常简单,改变它们执行的顺序,在当前主题的 functions.php 文件中添加: remove_filter( 'the_content', 'wpautop' ); add_filter( 'the_content', 'wpautop' , 12); 这样调整顺序之后,你的 shortcode 里面的内容,就不会有自动添加的 p 或者 br 标签,但是如果 shortcode 中部分的内容你又需要一些 p 或者 br 标签用来换行的话,你需要自己手动在自己 shortcode 处理程序中添加 wpautop 来处理了。 function bio_shortcode($atts, $content […]
WordPress 技巧:在侧边栏 Widgets 中使用 Shortcode
Shortcode 很方便,但是只能用在日志内容中,那么如何在 WordPress 的侧边栏的 Widgets 中使用 Shortcode,在当前主题的 functions.php 中添加如下代码: add_filter('widget_text', 'do_shortcode'); 然后你在 WordPress 后台 > 外观 > Widgets 界面添加一个文本 Widget,然后插入博客中经启用 shortcode 即可。 Shortcode 详细介绍和更多技巧: WordPress 技巧:使用 Shortcode 投放 Google Adsense 广告 WordPress 技巧:在主题的文件中使用 Shortcode WordPress 短代码(Shortcode)详细介绍和使用 WordPress 技巧:如何解决 Shortcode 中自动添加的 br 或者 p 标签 WordPress 技巧:使用 Shortcode 快速插入列表 WordPress 技巧:删除列表页的 Shortcode 标签:WordPress Shortcode WordPress 技巧
WordPress 技巧:如何修改自定义日志类型的固定链接
如果你使用过 WordPress 自定义日志类型(Custom Post Type)的话,一定发现自定义类型日志的的固定链接(Permalink)是不受制于后台 > 设置 > 固定链接中为 Post 置顶的链接格式,强制设置为 /custom_post_type/post_name/,如果我们要把自定义日志类型的固定链接修改为 /custom_post_type/post_name/ ,如何设置呢? 假设你已经创建了一个 book 的自定义日志类型,将其固定链接设置为:/book/post_id/,在当前主题的 functions.php 文件中添加如下代码: add_filter('post_type_link', 'wpjam_book_post_type_link', 1, 3); function wpjam_book_post_type_link( $link, $post = 0 ){ if ( $post->post_type == 'book' ){ return home_url( 'book/' . $post->ID ); } else { return $link; } } add_action( 'init', 'wpjam_book_rewrites_init' ); function wpjam_book_rewrites_init(){ […]
微信机器人 WordPress 插件升级到 0.2 版本
将微信机器人 WordPress 插件升级到 0.2 版本,这个版本主要修正几个问题,然后增加一些接口,满足不同用户的需求。 微信机器人 WordPress 插件 0.2 版本 主要的改进: 将 TOKEN 变量改成:WEIXIN_TOKEN,防止和其他插件冲突。 修正自定义日志类型获取固定链接不正确的问题。 新增关键词最长为8个字,太多就给出提示。 对于开发者:除了搜索之外,还可以自定义一些关键词,和其处理函数。 因为千奇百怪的需求太多,我无法一一满足,也为了插件本身的简洁,所以在 0.2 版本一些很多接口,这些接口都是使用 WordPress 默认的 filter 和 action 这两个 hook,如果你熟悉 WordPress 开发,你可以使用这些接口改进微信机器人 WordPress 插件满足自己的需求,这里有一个简单的示例。 如果你需求比较奇怪或者希望有更强大微信机器人,也可以联系我付费开发 。 下载:微信机器人 WordPress 插件 0.2 版本 详细介绍:微信机器人 WordPress 插件:让你的微信公众账号自动回复用户 标签: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 技巧:使用自定义字段给日志单独加载 JS 脚本
我们在介绍一些 Javasctipt 类库或者特效的时候,为了能够更加清楚的展示 Javascript 的效果,需要在日志中做演示,这个时候我们需要加载 Javascript 脚本或者 CSS 样式表,比如这篇日志:Pluralink:一个链接多个选择,中为了演示 Pluralink 的一个链接显示多个链接效果,就需要在日志中加入 Pluralink 的 Javascript 代码和 CSS 样式表。 但是 WordPress 日志编辑框会对过滤这些 Javascript 脚本,所以我们无法直接把脚本写到日志,如果修改主题,把脚本添加到主题的 header.php 文件中,那么博客所有的页面都会加载这些脚本,这样造成整个博客效率下降。所以这个时候我们可以通过 WordPress 自定义字段来给某篇的日志单独加载 Javascript 脚本和 CSS 样式表。 假设我们给日志单独加载 Javascript 脚本的自定义字段是 custom_head。那么你首先需要把下面这段代码复制到你主题的 functions.php 文件中,也可以直接当作一个插件,上传到插件目录中,然后在后台激活。 <?php /* Plugin Name: Custom Head Plugin URI: http://blog.wpjam.com/m/custom-head/ Description: 使用自定义字段给某篇的日志单独加载 Javascript 脚本,使用的自定义字段是 custom_head。 Version: 0.1 Author: Denis Author […]
WordPress 技巧:设置只有注册用户才能浏览特定的内容
一些网站在推广中,有时候希望提高用户的注册量,所以可能希望让有些内容是用户登陆之后才能看到的。WordPress 目前的设置中,最复杂的设置是只能把文章设置为密码保护,然后通过别的途径吧密码告诉用户才能浏览,这个方法对提高网站用户注册没有帮助,而且非常不方便。今天我就讲讲如何通过 WordPress 自定义字段完美解决这个问题。 我们增加一个自定义字段:user_only,如果这个值不为零,这这篇日志或者页面是只能给注册用户浏览,然后通过 the_content 来控制内容显示,这样就能简单的并且灵活设置具体到哪篇文章或者页面是只能注册用户浏览。详细代码如下: <?php /* Plugin Name: User only Plugin URI: http://blog.wpjam.com/m/post-for-user-only/ Description:通过给 user_only 这个自定义字段设置为 true 来设置当前文章仅限于会员浏览。 Author: Denis Version: 1.0 Author URI: http://wpjam.com */ add_filter('the_content', 'post_user_only'); function post_user_only($text){ global $post; $user_only = get_post_meta($post->ID, 'user_only', true); if($user_only){ global $user_ID; if(!$user_ID){ $redirect = get_permalink($post->ID); $text = '该内容仅限于会员浏览,请<a href="'.wp_login_url($redirect).'">登录</a>!'; } } return $text; […]

WordPress 技巧:在 WordPress 后台隐藏自定义字段
如果你想在写博客的时候保持日志编辑页面尽量的简洁,你可以通过下面的代码把 WordPress 自定义字段隐藏起来。在你主题的 functions.php 文件中添加以下代码: add_action('admin_init','customize_meta_boxes'); function customize_meta_boxes() { remove_meta_box('postcustom','post','normal'); } 当然 WordPress 自定义字段还是非常不错的,很多插件都会用到,但是对于一般用户来说,如果整个项目做好了,用到的自定义字段就是那么几个,我们做项目的时候使用户更加容易使用和理解,一般把WordPress 自定义字段隐藏起来,然后把需要用到的字段使用一个表单显示出来,如以前做的阳诺太阳能项目: WordPress 自定义字段介绍和更多实用技巧 WordPress 自定义字段(Custom Fields)详细介绍和使用 使用 WordPress 自定义字段来显示日志缩略图 WordPress 技巧:使用自定义字段给日志单独加载 JS 脚本 WordPress 技巧:设置只有注册用户才能浏览特定的内容 标签:WordPress 技巧 WordPress 自定义字段
WordPress 技巧:解决 rel=”category tag” 问题以便通过 W3C 验证
当你使用 W3C 验证服务去检查一个 WordPress 页面的时候,会发生:“Bad value category tag for attribute rel on element a:” 的错误,这是因为 WordPress 会在分类的链接上添加 rel=”category tag” 的属性,而目前这两个属性还没有得到 W3C 的 HTML5 验证器的认可,所以会报错。其实在目前 HTML5 规范还没有完全确定的情况下,这个错误其实并不是很大的问题。但是如果你感觉不爽,一定要让自己的页面通过 W3C 的验证,你可以在你当前主题的 functions.php 文件添加如下的代码: add_filter( 'the_category', 'wpjam_fix_catgory_rel' ); function wpjam_fix_catgory_rel ( $text ) { $text = str_replace('rel="category tag"', "", $text); return $text; } 标签:WordPress 技巧

