11个备用的WordPress编程技巧
WordPress总是有很多深藏不露的东西,值得我们去发掘,可能这也正是它如此受欢迎的原因
吧。在WordPress的世界里,发现别人还没发现的东西,分享出来,这该是多么值得骄傲的事情呀,下面是浩森博客总结的11个WordPress用户应该掌握的备用编程技巧,相信了解的这些又会让你的WordPress等级上升一大截。
1.如何载入WordPress自带的JS库
你可运用wp_enqueue_script function函数来载入WordPress自带的jQuery,而不使用任何的插件。代码如下:
<?php wp_enqueue_script('jquery'); ?>
2. 防止垃圾邮件
如果你在博客上公布了你的邮件地址,那么你可能每天都会收到很多的垃圾邮件,你可以使用免费的在线邮件保护服务,或是WordPress自带的antispambot()函数来解决:
<?php echo antispambot(get_the_author_email()); ?>
3.从RSS中移除特定分类
有时候你希望从RSS中移除一些读者不大感兴趣的分类,这时候你只需要改变提供给RSS烧制商的源地址,移除后的源地址类似于:http://housne.info/feed?cat=-4,其中”4″则为移除分类的ID,你可以在WordPress后台寻找分类的ID,点击Admin panel > Manage > Categories 后你便可看到分类的ID。
如果你并没有烧制自己的RSS,而是提供的RSS源地址给读者的话,你可以在主题的Functions文件中加入一段PHP函数来达到此目的。
# function ExcludeCategory($query) { if ($query->is_feed) { $query->set('cat','-79,-26'); } return $query; } add_filter('pre_get_posts','ExcludeCategory');
其中”79″和”26″为移除分类的ID。
4.显示相关分类和作者内容
让你的博客支持相关内容的显示,对读者的延展性阅读非常有用。比如下面这个截图的网站就支持此功能:
你能在每篇文章中显示更多的相关内容,比如相关分类和作者的更多内容来吸引读者的兴趣。同步显示这些内容稍微有点麻烦,Darren Hoyt提供了一个基于Ben的代码的简化版本。
<?php //Gets category and author infoglobal $wp_query;$cats = get_the_category();$postAuthor = $wp_query->post->post_author;$tempQuery = $wp_query;$currentId = $post->ID; // related author posts$newQuery = "posts_per_page=5&author=" . $authorPosts; query_posts( $newQuery );$authorPosts = "";$count = 0;if (have_posts()) {while (have_posts()) {$count++; the_post();if( $count<4 && $currentId!=$post->ID) {$count++;$authorPosts .= '<li><a href="' . get_permalink() . '">' . the_title( "", "", false ) . '</a></li>';}}} // related category posts$catlist = "";forEach( $cats as $c ) {if( $catlist != "" ) { $catlist .= ","; }$catlist .= $c->cat_ID;}$newQuery = "posts_per_page=5&cat=" . $catlist; query_posts( $newQuery );$categoryPosts = "";$count = 0;if (have_posts()) {while (have_posts()) { the_post();if( $count<4 && $currentId!=$post->ID) {$count++;$categoryPosts .= '<li><a href="' . get_permalink() . '">' . the_title( "", "", false ) . '</a></li>';}}}$wp_query = $tempQuery;?>
调用代码为:
<h6>More from this category</h6><ul><?php echo $categoryPosts; ?></ul> <h6>More from this author</h6><ul><?php echo $authorPosts; ?></ul>
5.为文章添加自定义图片
没有WordPress自定义字段功能,我们就不能见到如此多惊奇的WordPress专业主题,你想知道怎样有效的使用它来准确的显示每篇文章的缩略图么?你需要在主题中插入类似以下的代码:
<img src="<?php bloginfo('template_directory'); ?>/images/<?php $values = get_post_custom_values " img="" );="" echo="" $values[0];="" ?="">" alt="" />
你放置代码的地址比如包含Loop,你可直接使用WordPress的撰写后台的图片上传功能代替FTP上传,这样你能直接自定义“上传”文件夹,并能得到图片路径,复制在自定义字段值里。
6.防止盗链
有很到方法来防止你博客上的图片被其他的网站或是垃圾站点盗链,最常见的方法就是编辑你WordPress根目录的.htaccess文件,代码如下:
RewriteEngine On #Replace ?mysite.com/ with your site url RewriteCond %{HTTP_REFERER} !^http://(. .)?mysite.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ #Replace /images/no-hotlink.jpg with your "no hotlink allowed" image url RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/no-hotlink.jpg [L]
接下来你需要制作一张防盗链警示图片上传上网站根目录的images文件夹里,并命名为no-hotlink.jpg。
如果你已经放置了以上的代码到你的.htaccess,想要查看它是否可行,可以尝试使用这个工具来查看盗链你网站图片时将会显示的图片。
使用此方法的唯一毛病就时,RSS阅读器也不能读取你的图片,你可添加一些常见RSS阅读器的地址到.htaccess文件中。
Wordpress Hotlink protection plugin是一个实用的防盗链插件,它不会保护你RSS中的图片,所以RSS阅读器也能正常读取你的图片。
7.创建自定义字段面板
如你在在使用博客的自定义功能,你可通过自定义字段选项功能给文章添加各种类型的数据,自定义功能面板是WordPress自带的最有用的定制化功能的工具,并且能给文章添加各种不同类型的信息,你只需添加“add_meta_box()“标签。

关于创建自定义面板的详细教程请参考官方的“add_meta_box()“说明。
8.使用Google自定义搜索替换默认的WordPress搜索
想在不添加任何插件和页面的情况下,使用Google自定义搜索代替默认的WordPress搜索?你要做的第一件事情就是创建一个Google自定义搜索帐户,Maki from Doshdosh.com已经发布了一个怎样嵌入Google自定义搜索到自己网站的教程。
这个来自firewalker的漂亮教程,将会向你展示如何在你目前的主题的SEARCH FORM和SEARCH RESULTS页面中插入Google自定义搜索代码。
9.使用摘要代替全文输出(不需要修改主题)
WordPress的 the_content() 标签用来显示文章的全部内容,而如果你只是想显示文章的摘要,可使用 the_excerpt() 代替the_content() 标签,但如果你并不想修改主题的核心文件,而且在下次主题升级的时候保持之前对主题的修改有效。
Justintadlock有解决此问题的方法:WordPress filters
在当前文件夹的Function.php文件中加入以下代码,来告诉WordPress我们想要过滤 the_content() :
// Add filter to the_content add_filter('the_content', 'my_excerpts');
10.提供各分类的RSS
如果你想为每个分类提供RSS,让你的读者只订阅他们感兴趣的项目的话,让我来举个例子,如果你想给你名为”wordpress”的分类提供RSS的话,分类的连接类似于:
http://housne.info/category/wordpress
取得分类为”wordpress”的RSS地址很简单,只需要在其连接后面加上”/feed”
http://housne.info/category/wordpress/feed
为各分类提供RSS,只需添加以下的代码:
<a href="<?php echo get_the_category().'/feed'; ?>"><?php echo get_the_category().' rss feed'; ?></a>
11.从搜索结果中移除页面
如果你想从WordPress搜索结果中移除页面,你只需在当前主题的Function.php文件中添加一个过滤器,代码如下:
// Exclude pages from search results function SearchFilter($query) { if ($query->is_search) { $query->set('cat','20,34,8'); } return $query; } add_filter('pre_get_posts','SearchFilter');
其中ID为20,34,8则为你想要从搜索结果页面移除的分类。
英文地址:Most Wanted WordPress Hacks: 11 New Requests (2)
中文地址:11个新WordPress技巧










2008/12/24 于 18:19:32
菠菜的这个总结很棒,里面正巧有我需要的防止盗链。之前虽然修改过,但是一直没效果~
2008/12/24 于 13:27:51
编程技术是不错,但是似乎你的分享收藏有问题呢!
点击打开它的时候,就自动关闭了,点了很多下都是这样的
哦,我用windows xp sp3 系统、世界之窗浏览器、IE7下未测试…