首先这篇文章是面向略有一些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输出正文的地方用一下等等,其他不设定的地方就可以跟着模板默认的来。