黄聪

论SEO对人类的重要性,请看我的博客:hcsem.com

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

首先这篇文章是面向略有一些PHP基础的读者的。

然后是一小段对于不懂PHP读者的一些题外话:PHP是一门入门非常容易的语言,虽然深入学下去是否相对容易也无法由我这样的三脚猫技术来谈论。经 常在网上看到有人说可惜自己不是学程序的云云,却殊不知天天抱怨用去的时间已经能学出一些成果了。所以说强力建议做和互联网相关的至少抽一个星期出来学下 PHP或者其他的编程语言。完全掌握这篇文章所需的东西,绝对不会需要超过一个礼拜的时间。PHP入门的话,可以考虑去这边看看:http://www.w3school.com.cn/php/index.asp

 

接下来要介绍的一些代码片段不少是可以找到插件来实现的,但至少我并不建议这样。尤其对于我这样一个做SEO、又对WP很狂热的人而言,装几十个插件是不稀奇的,这类情况下找插件都会是一件纠结的事情,而尽管其中一些插件的功能用短短几句函数就能搞定。

太依赖插件偶尔还会导致严重的负面效果,比如前段时间看到有人不小心用了一个综合性的SEO插件,结果不小心在所有页面里面都加上 了<meta name=”robots” content=”index, nofollow” />这句,结果百度爬虫就没法抓取多数新增的页面了。

废话已经挺多了,直接上代码吧:

例1:WP分开设置首页与内页的标题

<?php

if (is_home()) {
    echo 'SEM WATCH 搜索引擎营销';

} else {
    wp_title('_',true,'right');
    echo 'SEMWATCH';

}

?>

把原先header.php中,之间的内容替换成以上的即可。

结果是首页的title会变为“SEM WATCH 搜索引擎营销”,内页的标题会变成“Wordpress代码级处理_SEMWATCH”。

wp_title这个函数的设置三个参数的作用分别为:1.分隔符,2.是否自动输出(不输出可以用echo),3.分隔符显示在标题的左侧或右侧

is_home函数是用来确定网页类型的,这里指的是首页。另外还有is_single(文章页),is_category(分类目录)等。

is_home还常被我用来设置只在首页显示友情链接等等。

例2:WP文章摘要输出

<?php
    echo mb_substr(strip_tags(get_the_content()),220);
?>

把需要输出摘要的页面中的替换成以上即可。

结果是会紧密的输出正文靠前的220个字符。

其中get_the_content和the_content类似,区别在于the_content直接输出,而前者置入变量。 strip_tags是为了去除其中所有的html标签,可以避免出现比如215个字符在第一段,第二段只显示5个字符就被截断的看上去比较怪的情况。 mb_substr是为了截取字符串中的某一部分,它和substr函数类似,但不会类似于substr把中文字符从当中切断而导致乱码(因为WP默认 UTF8编码下中文是3个字符)。

例3:制作特别的页面

<?php
    if strpos($_SERVER["REQUEST_URI"],'xxx') {
        // ...
    }

?>

这段可能因为比较突兀而让人不解,先解释下。因为WP里面页面种类较少,文章、页面、分类目录、日期归档、文章标签,当然还有首页,就这几种了。有时候可能会想超出这些页面做一类新的页面出来就比较麻烦,比如用WP做电子商务网站的支付页等等。

当然通过二次开发,这些都是能完美的搞定的,但明显二次开发相对耗时间了,一个简单的权宜之计就是用这段代码。

$_SERVER["REQUEST_URI"]获取当前的URL,如果在其中找到某字符串(strpos),那么就开始生成页面。比如说如果做电 子商务网站,交易页URL里面统一有”onepage”,那么就strpos($_SERVER["REQUEST_URI"],’onepage’)。

这一个if判断比如可以在title部分用一下,在the_content输出正文的地方用一下等等,其他不设定的地方就可以跟着模板默认的来。

posted on 2012-02-08 20:47  黄聪  阅读(521)  评论(0编辑  收藏  举报