网站的关键字及网页描述关系网站对搜索引擎的友好程度,如果自己手动加显然太折腾了,那如何让wordpress博客自动为每篇文章自动关键字及网页描述。每篇文章的内容不同,我们该如何让wordpress自动添加文章描述和关键词呢?下面就让我们来看看如何给wordpress自动添加文章描述和关键词。
在你主题的functions.php文件添加以下代码,各个代码的功能解析如下:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
add_action ( 'wp_head' , 'wp_keywords' ); // 添加关键字
add_action ( 'wp_head' , 'wp_description' ); // 添加页面描述
function wp_keywords() {
global $s , $post ;
$keywords = '' ;
if (is_single ()) { //如果是文章页,关键词则是:标签+分类ID
if (get_the_tags ( $post ->ID )) {
foreach ( get_the_tags ( $post ->ID ) as $tag )
$keywords .= $tag ->name . ', ' ;
}
foreach ( get_the_category ( $post ->ID ) as $category )
$keywords .= $category ->cat_name . ', ' ;
$keywords = substr_replace ( $keywords , '' , - 2 );
} elseif (is_home ()) {
$keywords = '我是主页关键词' ; //主页关键词设置
} elseif (is_tag ()) { //标签页关键词设置
$keywords = single_tag_title ( '' , false );
} elseif (is_category ()) { //分类页关键词设置
$keywords = single_cat_title ( '' , false );
} elseif (is_search ()) { //搜索页关键词设置
$keywords = esc_html ( $s , 1 );
} else { //默认页关键词设置
$keywords = trim ( wp_title ( '' , false ) );
}
if ( $keywords ) { //输出关键词
echo "<meta name=\"keywords\" content=\"$keywords\" />\n" ;
}
}
function wp_description() {
global $s , $post ;
$description = '' ;
$blog_name = get_bloginfo ( 'name' );
if (is_singular ()) { //文章页如果存在描述字段,则显示描述,否则截取文章内容
if (! empty ( $post ->post_excerpt )) {
$text = $post ->post_excerpt;
} else {
$text = $post ->post_content;
}
$description = trim ( str_replace ( array (
"\r\n" ,
"\r" ,
"\n" ,
" " ,
" "
), " " , str_replace ( "\"" , "'" , strip_tags ( $text ) ) ) );
if (! ( $description ))
$description = $blog_name . "-" . trim ( wp_title ( '' , false ) );
} elseif (is_home ()) { //首页显示描述设置
$description = $blog_name . "-" . get_bloginfo ( 'description' ) . '首页要显示的描述' ; // 首頁要自己加
} elseif (is_tag ()) { //标签页显示描述设置
$description = $blog_name . "有关 '" . single_tag_title ( ' ', false ) . "' 的文章";
} elseif (is_category ()) { //分类页显示描述设置
$description = $blog_name . "有关 '" . single_cat_title ( ' ', false ) . "' 的文章";
} elseif (is_archive ()) { //文档页显示描述设置
$description = $blog_name . "在: '" . trim ( wp_title ( ' ', false ) ) . "' 的文章";
} elseif (is_search ()) { //搜索页显示描述设置
$description = $blog_name . ": '" . esc_html ( $s , 1 ) . "' 的搜索結果" ;
} else { //默认其他页显示描述设置
$description = $blog_name . "有关 '" . trim ( wp_title ( ' ', false ) ) . "' 的文章";
}
//输出描述
$description = mb_substr ( $description , 0, 220, 'utf-8' ) . '..' ;
echo "<meta name=\"description\" content=\"$description\" />\n" ;
}
|
突出关键字在搜寻结果:
1
2
3
4
5
6
7
8
9
10
|
function wps_highlight_results( $text ){
if (is_search()){
$sr = get_query_var( 's' );
$keys = explode ( " " , $sr );
$text = preg_replace( '/(' .implode( '|' , $keys ) . ')/iu' , '<strong>' . $sr . '</strong>' , $text );
}
return $text ;
}
add_filter( 'the_excerpt' , 'wps_highlight_results' );
add_filter( 'the_title' , 'wps_highlight_results' );
|
使用此代码段突出显示搜索词在你的博客搜索结果the_excerpt和the_title。