网站的关键字及网页描述关系网站对搜索引擎的友好程度,如果自己手动加显然太折腾了,那如何让wordpress博客自动为每篇文章自动关键字及网页描述。每篇文章的内容不同,我们该如何让wordpress自动添加文章描述和关键词呢?下面就让我们来看看如何给wordpress自动添加文章描述和关键词。
在你主题的functions.php文件添加以下代码,各个代码的功能解析如下:
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 ( "rn", "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"; }
突出关键字在搜寻结果:
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。