WordPress技巧荟萃

WordPress最吸引我的魅力就在于她丰富多样的扩展性。只要你有丰富的知识、熟练的技术以及一个富有创造性的大脑,那么你的Wordpress博客就会变得无所不能!

     增强Wordpress扩展性大家最常用的就是插件,说实在的我不太喜欢使用过多的插件,因为当我每每添加一个插件,我就不得不考虑博客浏览的速度!我最多使用的就是Hack(我个人把它翻译为“技巧”也可以译为“修改”),那么Hack和plugin究竟有何区别呢?

Hack:是基于开源的程序的基础,是针对原程序文件的直接修改,如对其代码进行增加、删除或者修改、优化,使之在功能上符合新的需求。Hack在格式上也自然没有太严格的规定,且一般没有文件的增加。

plugin:一般是利用程序的API(接口),复用程序底层,利用一些程序既有的函数和类来制作新的小作品,一般有文件的增加。符合标准的插件,其目录结构和文件名都是有一定格式的(如Wordpress的插件文件需放在plugin目录下)。

     经常在网上浏览,你就会发现很多优秀的博客都使用到一些小技巧。我筛选一些个人认为实用性比较强的的技巧不定期的介绍给大家。如果该技巧比较复杂我会将其独立成篇;如果简单易行,则汇集若干成一篇,以便于大家阅读。

(一)给你的博客增加一个导航

给你的博客增加一个良好的导航链接,让你的读者不至于在阅读你的博客时迷失方向,那是很重要的;同时良好的导航可以指引读者在你的博客中找到更多他想要的东西。

在single.php页面循环开始之后最开始的地方添加以下代码即可:

<a href="<?php echo get_settings('home'); ?>" title="Home">Home</a> &raquo; <?php the_category(","); ?>  &raquo; <?php the_title(); ?>

你还可以为它定义一个CSS样式(仅供参考):

#postpath {
	background:url(images/postpath.png) no-repeat 3px 3px;
	height:16px;
	line-height:16px;
	margin:5px 0;
	padding-left:22px;
}

(二)在你的每个页面前三篇日志中显示Google Ads

很多网友都想在他们主页的前三篇日志中来展示Google Ads以获取更好的展示效果以及更多的点击量。下面来看看如何改造你的主题以达到此目的。打开你主题中的indexe.php文件并找到页面循环语句(the loop)。

循环语句(the loop)开始于:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

结束于:

<?php endwhile; ?>

你要把你的Google Ads放置于循环语句(the loop)的开始和结束之间,选择一个适当的位置(比如文章的开头和结尾)加入如下代码:

<?php if ($wp_query->current_post < 3) { ?>
<!-- 在这里加入你的 Google Adsense 代码 -->
<?php } ?>

保存文件,刷新一下看看是不是你想要的结果:-)

(三)显示博客作者列表

如果你的博客是一个多用户博客,并且你想把作者以列表形式显示出来,那么一下代码将帮助到你:

<ul>
<?php wp_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?>
</ul>

相关参数设定:

  • exclude_admin:0(列表中包括管理员的名字)/1(列表中排除管理员的名字)
  • optioncount:0(在作者名字后面不显示文章数目)/1(在作者后面显示文章数目)
  • show_fullname:0(只显示first name)/1(显示full name)
  • hide_empty:0(没有文章的作者也显示在名单中)/1(只显示至少有一篇文章的用户)

(四)Wordpress无法编辑分类缩略名(Slug)的解决

前两天在写文章时想添加一个jQuery的分类,创建分类时我把分类名称和缩略名都设置成jQuery,结果发现提交以后缩略名变成了jquery-2这样的形式,当修改分类缩略名(Slug)的时候Wordpress始终提示"分类未更新",亦然保持原有的缩略名。百思不得其解,最终无意在DiggLife这里找到了答案。

原因:造成无法更改分类缩略名的原因很简单,Wordpress 2.3及以上的版本由于引进了标签功能,Wordpress数据库结构发生了变化。链接分类、日志分类和标签被整合到wp_terms表中(这个页面有详细说明).由于分类缩略名必须唯一,所以如果你已经使用了某个词作为标签或者链接分类,那么你将无法将其作为分类缩略名。

解决方案:使用另外一个分类缩略名或者删除那个重复的标签。这就要看哪个损失比较小了,如果你的日志里已经多次链接到这个分类,那么最好删除或者修改标签,反之则修改分类缩略名。(这里需要再提醒一下,如果你为你的的中文标签都设置有缩略名,也要注意它们是否和你现在正在设置的分类缩略名重复)

所以,在建博初期,最好确定所有应该固定下来的链接。比如页面缩略名、分类缩略名、日志永久链接结构等。不然修改起来会非常麻烦,而且会造成不必要的损失。

(五)只针对搜索引擎显示Adsense广告

这个技巧依旧来自于DiggLife。在DiggLife的这篇文章中,以及水煮鱼的《提高Google Adsense收入的三个小技巧》中均提到这样一个观点:

长期浏览你博客的用户其实不会点击你的广告的,所以对于这部分用户显示广告是没有用的,所以最好的办法就是直接给来自搜索引擎的用户显示广告,一般来自搜索引擎的用户特别容易点击广告。所以针对搜索引擎显示Adsense广告,其目的就是为了减少无效展示,提高eCPM,也就是所谓的有效每千次展示的费用。据说eCPM高了,Adsense机器人会自动匹配高单价的广告到你的网页,所以在点击率一定的情况下,提高eCPM是是一种有效提高广告收入的办法。

那么如何只针对搜索引擎显示Adsense广告?DiggLife给出了一个比较完美的解决方案:

<?php
 
$referer = $_SERVER['HTTP_REFERER'];
 
$se = array('google.com/search?', 'baidu.com/s?', 'soso.com/q?');
 
$adsense = <<<AD
 
adsense代码
 
AD;
 
foreach ($se as $source) {//将se数组中的每一个值逐一赋给$source
 
if(strpos($referer,$source) !== false){
 
echo $adsense;
 
}
 
}
 
?>

如果你想了解这段代码的更多含义,以及这样写的道理,那你就不妨移步到这里慢慢看。

(六)为Feed 内容添加版权信息

在每篇博文后声明文章的版权,这是很常见的,但是它不会出现在feed订阅中。如果你是城市@后的订阅用户,你就会发现在feed输出中也会有版权的显示。那么如何给你的Feed输出文章中也加入版权声明呢?

很简单,只需在你的主题function.php文件的最后加入如下代码即可:

<?php
 
$notice = '<p>&copy;' . date("Y") . ' <a href="' . get_bloginfo('url') . '">' . get_bloginfo('name') . '</a>. All Rights Reserved.</p>'; 
 
add_filter('the_content', 'add_notice'); 
 
function add_notice( $content ) {
 
global $notice;   
if( is_feed() ) {
 
return $content.$notice; 
 
} else {
 
return $content; 
 
}
 
}
 
?>

在你的feed的末尾会显示类似的版权信息:

?2009 城市@后. All Rights Reserved.

当然你还可以用这段代码在你的feed中添加广告代码。

转载自:http://www.aftertown.cn

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据