前几天优化了一下关键词和描述的手动获取,后来认为还是不够完整,于是动手整理了一下,大家可以参考或则直接拿去使用。
使用方式简单,直接丢到主题函数文件,functions.php内即可,代码如下,自己可以适当依照要去更改。
add_action ( 'wp_head', 'wp_sheruoseo' ); // 添加关键字及描述,如觉得错乱,可以注释掉此行,添加下方一行代码到主题页头title下面。
function wp_sheruoseo(){
global $s, $post;
$description = '';
$keywords = '';
if (is_home()) {
// 将以下引号中的内容改成你的主页description
$description = "设若、一个专注知识产权与经验分享的博客。SheRuo.com";
// 将以下引号中的内容改成你的主页keywords
$keywords = "sheruo,设若,设若博客,知识产权博客,商标博客,专利博客";
}
elseif (is_single()) {
$description1 = get_post_meta($post->ID, "description", true);
$description2 = str_replace("\n","",mb_strimwidth(strip_tags($post->post_content), 0, 200, "…", 'utf-8'));
// 填写自定义字段description时显示自定义字段的内容,否则使用文章内容前200字作为描述
$description = $description1 ? $description1 : $description2;
// 填写自定义字段keywords时显示自定义字段的内容,否则使用文章tags作为关键词
$keywords = get_post_meta($post->ID,"keywords",true);
if($keywords == '') {
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
$keywords = $keywords . $tag->name .",";
}
foreach ( get_the_category ( $post->ID ) as $category )
$keywords .= $category->cat_name . ',';
$keywords = rtrim($keywords, ', ');
}
}
elseif (is_category()) {
//定义分类添加描述和关键词
if (is_category('生活')) {
$description = '这里填音乐分类的描述';
$keywords = '这里填音乐分类的关键字,半角逗号隔开';
}
elseif (is_category('笔记')) {
$description = '这里填电影分类的描述';
$keywords = '这里填电影分类的关键字,半角逗号隔开';
}
else { // 分类的默认描述及关键词,可以到后台 - 文章 -分类目录,修改分类的描述
$description = category_description();
$keywords = single_cat_title('', false);}
}
elseif (is_page()){
//定义页面添加关键词和描述
if (is_page('关于')){
$description = str_replace("\n","",mb_strimwidth(strip_tags($post->post_content), 0, 200, "…", 'utf-8'));
$keywords = '这里关于页面的关键字,半角逗号隔开';
}
elseif (is_page('问答')) {
$description = str_replace("\n","",mb_strimwidth(strip_tags($post->post_content), 0, 200, "…", 'utf-8'));
$keywords = '这里填问答页面的关键字,半角逗号隔开';
}
else { // 默认页面的关键词描述
$description = str_replace("\n","",mb_strimwidth(strip_tags($post->post_content), 0, 200, "…", 'utf-8'));
$keywords = $post->post_title;
}
}
elseif (is_tag()){
// 标签的description可以到后台 - 文章 - 标签,修改标签的描述
$description = tag_description();
$keywords = single_tag_title('', false);
}
elseif (is_search()){
// 搜索页面的description
$description = " '" . esc_html ( $s, 1 ) . "' 的搜索結果";
$keywords = esc_html ( $s, 1 );
}
else {//默认页关键词设置
$description = $blog_name . "有关 '" . trim ( wp_title ( '', false ) ) . "' 的文章";
$keywords = trim ( wp_title ( '', false ) );
}
$description = trim(strip_tags($description));
$keywords = trim(strip_tags($keywords));
echo '';
echo '';
}
我使用的时侯,觉得直接插到head内有点不美观,所以稍稍的进行了改动, 注释掉第一行代码,然后在主题页头模版title下边直接加入以下代码,