網站的關鍵字及網頁描述關係網站對搜尋引擎的友好程度,如果自己手動加顯然太折騰了,那如何讓 WordPress 網站自動為每篇文章自動關鍵字及網頁描述。每篇文章的內容不同,我們該如何讓 WordPress 自動新增文章描述和關鍵詞呢?下面就讓我們來看看如何給 WordPress 自動新增文章描述和關鍵詞。
在你主題的 functions.php 檔案新增以下程式碼,各個程式碼的功能解析如下:

add_action ( 'wp_head', 'wp_keywords' ); // 新增關鍵字
add_action ( 'wp_head', 'wp_description' ); // 新增頁面描述


	/**
 +----------------------------------------------------------
 * 站點關鍵字 (www.wpnoob.cn)
 +----------------------------------------------------------
 * @return string
 +----------------------------------------------------------
 */
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" />
";
	}
}


/**
 +----------------------------------------------------------
 * 站點描述
 +----------------------------------------------------------
 * @return string
 +----------------------------------------------------------
 */
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 (
				"
",
				"
",
				"
",
				" ",
				" "
		), " ", 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" />
";
}