有时,做网站优化时,很多站长希望wordpress分类目录也能添加关键词和长标题。我们都知道,wordpress在后台添加分类目录时,没有关键词选项,也没有长标题选项。只有目录名和别名、描述。如果只是长标题,这个还好解决,我们只需把目录名写成长标题,然后在后台的“菜单”里把前台的导航菜单写成短标题就可以 了。但是关键词就没有办法了,我们只能通过插件或代码来实现。这里,我们就来通过代码来实现分类目录的长标题和关键词功能。
第一步、在functions.php 中添加如下代码:
//分类目录 SEO 优化
add_action(‘edit_category_form_fields’, ‘category_function’);
function category_function(){
if(isset($_GET[‘action’]) && $_GET[‘action’] == ‘edit’) $value = get_option(‘cat_set_’ . $_GET[‘tag_ID’]);
$title = ‘cat_title’;
$keywords = ‘cat_keywords’;
//$description = ‘cat_description’;
?>
<table class=”form-table”>
</table>
<h2>自定义SEO信息</h2>
<table class=”form-table”>
<tbody>
<tr class=”form-field”>
<th scope=”row” valign=”top”><label for=”<?php echo $title ?>”>标题</label></th>
<td>
<input name=”<?php echo $title ?>” id=”<?php echo $title ?>” type=”text” value=”<?php echo esc_attr(stripslashes($value[‘title’]));?>”>
<p class=”description”>默认调用分类名称作为Head中Title信息。</p>
</td>
</tr>
<tr class=”form-field”>
<th scope=”row” valign=”top”><label for=”<?php echo $keywords; ?>”>关键词</label></th>
<td>
<input name=”<?php echo $keywords; ?>” id=”<?php echo $keywords; ?>” type=”text” value=”<?php echo $value[‘keywords’];?>”>
<p class=”description”>多个关键词用小写逗号“,”分隔开;默认调用分类名称作为Head中KeyWords信息。</p>
</td>
</tr>
<!–<tr class=”form-field”>
<th scope=”row” valign=”top”><label for=”<?php echo $description; ?>”>描述</label></th>
<td>
<textarea name=”<?php echo $description; ?>” id=”<?php echo $description; ?>” rows=”3″ cols=”30″>
<?php echo stripslashes($value[‘description’]); ?>
</textarea>
<p class=”description”>若未设置,将显示为“关于‘某某’分类下的所有文章。”作为Head中Description信息。</p>
</td>
</tr>–>
</tbody>
</table><?php
}
add_action(‘edit_category’, ‘save_category_function’);
function save_category_function(){
if(isset($_POST[‘action’]) && isset($_POST[‘taxonomy’]) && $_POST[‘action’] == ‘editedtag’ && $_POST[‘taxonomy’] == ‘category’){
update_option(
‘cat_set_’ . $_POST[‘tag_ID’],
array(
‘title’ => $_POST[‘cat_title’],
//’description’ => $_POST[‘cat_description’],
‘keywords’ => $_POST[‘cat_keywords’],
‘template’ => $_POST[‘cat_template’],
‘orderby’ => $_POST[‘cat_orderby’],
‘per_page’ => $_POST[‘cat_per_page’],
)
);
}
};
第二步、设置不同页面显示不同的标题、关键词、描述,把下面代码放到 header-seo.php 文件中:
<?php
if (is_home()){ //首页SEO
$title =get_bloginfo(‘description’).” – “.get_bloginfo(‘name’);
$description = get_option(‘swt_description’);
$keywords = get_option(‘swt_keywords’);}elseif (is_category()){ //分类目录SEO
$cat_id = get_query_var(‘cat’);
$val = get_option(“cat_set_$cat_id”);
//分类目录长标题
if(!Empty($val) && $val[‘title’]!=”){
$title = $val[‘title’].’ – ‘.get_bloginfo(‘name’);
}else{
$title = single_cat_title(”, false).’ – ‘.get_bloginfo(‘name’);
}
//分类目录关键词
if(!Empty($val) && $val[‘keywords’]!=”){
$keywords = $val[‘keywords’];
}else{
$keywords = single_cat_title(”, false);
}
//分类目录描述
$description = category_description();}elseif (is_tag()){ //标签页
$title = single_cat_title(”, false).’ – ‘.get_bloginfo(‘name’);
$description = tag_description();
$keywords = single_tag_title(”, false);}elseif (is_single()){ //文章页
$title = $post->post_title.’ – ‘.get_bloginfo(‘name’);
if ($post->post_excerpt){
$description = $post->post_excerpt;
} else {
$description = substr(strip_tags($post->post_content),0,400);
}
$keywords = “”;
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ){
$keywords = $keywords . $tag->name . “, “;
}
}
?>
第三步、在header.php 中引用标题、关键、描述:
<?php include “header-seo.php”; ?>
<title><?php echo $title; ?></title>
<meta name=”keywords” content=”<?php echo $keywords ?>” />
<meta name=”description” content=”<?php echo strip_tags($description); ?>” />
通过这三步,我们就为wordpress分类目录添加了长标题和关键词功能。
转载请注明:⎛蜗牛建站⎞ » wordpress如何为分类目录添加关键词和长标题?