WordPress的10个殺手級技巧

7. 如无Referrer请求则禁止发表评论
问题:垃圾评论是让所有博主都头疼的问题。尽管Akismet能够帮你应付这些问题,但如果能化被动为主动岂不是更好?以下给出的代码在wp-comments-post.php被访问时,会查找referrer(即URL来源页面)。如果此时存在一个referrer,且为你博客的URL,那么就可以发表评论。反之,页面将会停止载入,而评论也就无法发表了。

解决方案:要应用此hack的话,直接将以下代码粘贴到外观主题的function.php文件中即可。如果外观主题不含此文件,请自行创建一个。

function check_referrer() {
if (!isset($_SERVER[‘HTTP_REFERER’]) || $_SERVER[‘HTTP_REFERER’] == “”) {
wp_die( __(‘Please enable referrers in your browser, or, if you’re a spammer, bugger off!’) );
}
}
add_action(‘check_comment_flood’, ‘check_referrer’);

8.在WordPess导航条中使用CSS滑动门

问题:虽然内置的wp_list_pages()和wp_list_categories()函数很有用,但它们不允许嵌入<span>元素。这样一来,就只能使用目前最赞的CSS滑动门技术了。而且幸运的是,我们只要稍微借助一下PHP和正则表达式就能够在WordPress博客中使用超酷的滑动门技术了。

由于有关CSS滑动门的教程已经很多了,因此在这里我们就不对其工作方式再做任何说明。如果你想对此技术进行更深入的了解,可以看看这篇精品文章。想看看实际效果的话,请点击这里。

创建你所需的图片,并对WordPress外观主题中的style.css文件进行编辑。这里给出例子:
#nav a, #nav a:visited {
display:block;
}
#nav a:hover, #nav a:active {
background:url(images/tab-right.jpg) no-repeat 100% 1px;
float:left;
}
#nav a span {
float:left;
display:block;
}
#nav a:hover span {
float:left;
display:block;
background: url(images/tab-left.jpg) no-repeat 0 1px;
}
现在让我们来编辑header.php文件吧。根据自身需要将如下代码复制粘贴进去即可:
<ul id=”nav”>
<li><a href=”<?php echo get_option(‘home’); ?>/”><span>Home</span></a></li>
<?php echo preg_replace(‘@<li([^>]*)><a([^>]*)>(.*?)</a>@i’, ‘<li$1><a$2><span>$3</span></a>’, wp_list_pages(‘echo=0&orderby=name&exlude=181&title_li=&depth=1’)); ?>
</ul>
列出页面:
<ul id=”nav”>
<li><a href=”<?php echo get_option(‘home’); ?>/”><span>Home</span></a></li>
<?php echo preg_replace(‘@<li([^>]*)><a([^>]*)>(.*?)</a>@i’, ‘<li$1><a$2><span>$3</span></a>’, wp_list_categories(‘echo=0&orderby=name&exlude=181&title_li=&depth=1’)); ?>
</ul>
代码说明:此例中,我们在 wp_list_pages()和wp_list_categories()函数中使用了echo=0 参量,它允许你获取函数结果而无需将其直接打印在屏幕上。接着函数结果将用于PHP preg_replace()函数,并最终显示出来,此时<li>和<a>标签之间已加入了<span>标签。

9. WordPress博客百变头图
问题:确切地说这并不是什么问题,但有不少WordPress用户希望自己的博客头图能够丰富多变。

解决方案:

当你相中了一些头图图片后,将它们命名为1.jpg, 2.jpg, 3.jpg,诸如此类。当然,你可以使用任意多的图片。
将图片上传到wp-content/themes/yourtheme/images目录下。
打开header.php文件,并将如下代码粘入:
$num = rand(1,10); //Get a random number between 1 and 10, assuming 10 is the total number of header images you have
&ltdiv id=”header” style=”background:transparent url(images/.jpg) no-repeat top left;”>
完成!现在博客各页面或日 志页面将会显示随机的头图了。
代码说明:这里没什么好说的。我们直接使用PHP rand()函数初始化一个$num变量来随机获取1到10之间的数字。接着我们将$num变量的结果连上当前外观主题的路径就OK了。

10.显示撰写计划
问题:许多博主都希望自己拥有更多的读者,有更多的RSS feed。而把文章撰写计划罗列出来显然能提高访客的好奇心和兴趣。

解决方案:打开任意一个主题文件并粘贴进以下代码:
<?php
$my_query=newWP_Query(‘post_status=future&order=DESC&showposts=5’);
if($my_query->have_posts()){
while($my_query->have_posts()):$my_query->the_post();?>
<li><?phpthe_title();?></li>
<?phpendwhile;
}
?>

代码说明:在这个代码改进中,我们使用WP_Query类创建了自定义语句以发送数据库查询并提取最近将要撰写的五篇文章。完成后,系统就会使用一个简洁的WordPress循环来显示文章标题。

Leave a Reply

Your email address will not be published. Required fields are marked *