• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > wordpress主题使用教程 > wordpress如何为分类目录添加关键词和长标题?

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

    作者: 分类:wordpress主题使用教程 点击: 9,011 次
    wordpress CMS主题:ssmay主题

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



      QQ二维码

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

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    7条回应:“wordpress如何为分类目录添加关键词和长标题?”

    1. 小花说道:

      为什么首页的关键词是空白的,首页关键词在哪里添加

    2. wkang956说道:

      把这一行删了就行了
      $value = get_option(‘cat_set_’ . $_GET[‘tag_ID’]);

    3. 你好,站长说道:

      成功倒是成功了,但是有个问题,后台设置后,自定义SEO信息是空白的,但是前台能够看到,有没有什么好的方法解决呀?

    4. 钟建新说道:

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

    5. ilongmao.cn说道:

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

    6. 福利SIR说道:

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

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.