網站的關鍵字及網頁描述關係網站對搜尋引擎的友好程度,如果自己手動加顯然太折騰了,那如何讓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 ( "\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";}
突出關鍵字在搜尋結果:
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。