代码来自Fatesinger,这篇文章本来是为了优化谷歌的搜索结果展示,但是因为众所周知的原因……即使这样,其中的方法和思想都是很值得学习的。来自发哥的研究原话:我仔细观察了还没有停止更新的比较出名的独立博客,发现部分文章页已经没有了Description ,只有一些重要的页面有,最后我参考了Zac的方法,用了标题 + 站点名 + 作者 的方式,觉得这样在搜索引擎的结果比较好看。
如果你的主题已经有Description 的相关代码先删除相关代码,然后把下面的代码放到functions.php 中即可。
实现代码
function bigfa_description() { global $s, $post; $description = ''; $blog_name = get_bloginfo('name'); if ( is_singular() ) { $ID = $post->ID; $title = $post->post_title; $author = $post->post_author; $user_info = get_userdata($author); $post_author = $user_info->display_name; if (!get_post_meta($ID, "meta-description", true)) {$description = $title.' - 作者: '.$post_author.',首发于'.$blog_name;} else {$description = get_post_meta($ID, "meta-description", true);} } elseif ( is_home () ) { $description = ""; // 首页要自己加,如果你主题有后台设置可以连接上 } elseif ( is_tag() ) { $description = single_tag_title('', false) . " - ". trim(strip_tags(tag_description())); } elseif ( is_category() ) { $description = single_cat_title('', false) . " - ". trim(strip_tags(category_description())); } 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"; } add_action('wp_head','bigfa_description');