wordpress CMS主题 微信
Home > wordpress主题使用教程 > wordpress如何为分类目录添加关键词和长标题?

wordpress如何为分类目录添加关键词和长标题?

高时银博客 wordpress主题使用教程 点击: 4,612 次 1 2

有时,做网站优化时,很多站长希望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分类目录添加了长标题和关键词功能。


文章作者:高时银博客
本文地址:http://wanlimm.com/77201512314946.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

4 个评论 来自 “wordpress如何为分类目录添加关键词和长标题?”

  1. 钟建新 回复 | 引用 Post:2017-07-01 at 10:25

    博主问一下怎么自定义tag标签的TKD

    • 高时银博客 回复 | 引用 Post:2017-07-02 at 09:30

      这个倒没弄过,不过我觉得tag定义TKD意义不大。

  2. ilongmao.cn 回复 | 引用 Post:2017-03-15 at 16:01

    按照您的方法,都设置成功了,可以读到Title和Keyword,但Description不显示内容。另外还有一个问题,页面会显示两套TDK

  3. 福利SIR 回复 | 引用 Post:2016-06-07 at 22:14

    主题没有header-seo.php文件,而且NOcategory要怎么弄?

发表评论