首页 > 程序相关 > 自定义 WordPress 的 description 和 keywords

自定义 WordPress 的 description 和 keywords

2009-04-12

使用此方法修改之后, 可以通过自定义域来定义每一篇日志的 description 和 keywords .

如果没有自定义, 它也可根据 tag 自动添加到 keywords , description 默认截取 200 个字符.

下面是修改方法.

修改模板头部:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
$description = "这里是你默认的说明";
$keywords = "这里是你默认的关键字";
 
if (is_home()) { 
	$description = $description;
	$keywords = $keywords;
} else if (is_single()) {
	if ( get_post_meta($post->ID, "description", $single = true) != "" )
	{
		$description = get_post_meta($post->ID, "description", $single = true);
	} else {
		$description = substr(strip_tags($post->post_excerpt),0,200) . "...";
	}
 
	if ( get_post_meta($post->ID, "keywords", $single = true) != "" )
	{
		$keywords = get_post_meta($post->ID, "keywords", $single = true);
	} else {	
		$tags = wp_get_post_tags($post->ID);
		foreach ($tags as $tag ) {
			$keywords = $keywords . ", " . $tag->name;
		}
	}
} else if (is_page()) {
	if ( get_post_meta($post->ID, "description", $single = true) != "" )
	{
		$description = get_post_meta($post->ID, "description", $single = true);
	}
 
	if ( get_post_meta($post->ID, "keywords", $single = true) != "" )
	{
		$keywords = get_post_meta($post->ID, "keywords", $single = true);
	}
} else if (is_category()) {
	$description = category_description();
}
?>
 
<meta name="keywords" content="<?php echo $keywords; ?>" />
<meta name="description" content="<?php echo $description; ?>" />

基本上算是大功告成了, 现在你虽然没有自定义字段, 但是也可以看到每篇文章里的 description 和 keywords 已经不同了.

也可以到文章或页面里自定义关键字和说明, 新建或编辑文章里, 自定义字段, 名称为: keywords , 值就是你的关键字. 名称为: description , 值就是你的说明.

点击添加之后, 好了, 发布. 再到文章页面看看源代码吧, 看看是不是自己定义的了.

当然, 自定义字段的作用不仅仅这一点, 比如自定义 CSS 样式等等, 可以自行研究.

在使用的过程中有问题, 我们也可以互相探讨探讨.

  1. kaka
    2010-05-02 20:36 | #1

    这方法不错
    找了几个都差不多
    拿走了 :arrow:

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
;-):|:x:twisted::smile::shock::sad::roll::razz::oops::o:mrgreen::lol::idea::grin::evil::cry::cool::arrow::???::?::!: