• wordpress CMS主题:ssmay主题 wordpress CMS主题:ssmay主题
  • 首页 > wordpress CMS主题制作 > WP主题开发19:如何让不同页面的头部显示不同的关键词和描述?

    WP主题开发19:如何让不同页面的头部显示不同的关键词和描述?

    作者: 分类:wordpress CMS主题制作 点击: 63 次
    wordpress CMS主题:ssmay主题

      扫描下面的二维码,“关注”我的头条号,我会每天更新免费视频课程。

      通过前面章节的介绍,我们基本上完成了wordpress主题trans的动态模板的编写。我们创建了首页模板、列表页模板、文章页模板、搜索页模板,以及公共模板头部模板、底部模板和侧边栏模板。我们还为trans主题添加了一个后台的主题设置页面,使用trans主题的功能更加完善和友好。但是,我们又发现一个小问题——在前台网页的源代码中,所有页面都显示的是同样的关键词和描述(如下图),都是我们在后台的主题设置里设置的数据,这就不合理了,不同的页面应该显示不同的关键词和描述,因为表达的中心主题是不一样的。那么,怎样让wordpress主题不同的页面调用不同的关键词和描述呢?

      WP主题开发19:如何让不同页面的头部显示不同的关键词和描述?

      第一步:找到头部模板中的关键词与描述的代码。

      打开trans的公共模板——header.php,在代码中找到关键词与描述的代码,如下:

      < meta name="keywords" content="< ?php echo get_option("keywords"); ?>">
      < meta name="description" content="< ?php echo get_option("description"); ?>">

      我们可以看出,它们只是通过 get_option()函数调用了wp-options数据表里的数据,也就是我们在后台的主题设置里设置的网站关键词和描述。我们需要对它们进行修改。

      第二步:通过判断获取不同的数据。

      为了让不同的页面获取到不同的关键词和描述,我们需要在这里做一下判断:如果是首页,就调用后台主题设置里的数据;如果是列表页,就调用列表页自己的关键词和描述;如果是文章页,就调用文章页自己的数据。嗯,我们在上面的关键词和描述的代码前面添加如下代码:

      <?php
      if (is_home()){ //如果是首页
      $description = get_option('description');
      $keywords = get_option('keywords');
      }elseif (is_category()){ //如果是列表页
      $description = category_description();
      $keywords = single_cat_title('', false);
      }elseif (is_single()||is_page()){//如果是文章页或单页面
      if ($post->post_excerpt){ //如果在文章编辑时添加了描述
      $description = $post->post_excerpt; //就调用添加的描述
      }else { //否则就截取文章内容的400个字符,作为描述
      $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 . ", ";
      }
      }
      ?>

      在上面的代码中,我们使用了很多的wordpress自带的函数:

      is_home():判断是不是网站的首页;
      is_category():判断是不是列表页;
      is_single():判断是不是文章页;
      is_page():判断是不是page单页面;
      category_description():获取列表页的描述;
      single_cat_title():获取列表页的标题;
      wp_get_post_tags():获取文章页的tag标签;

      第三步:修改原关键词和描述的代码。

      通过第二步的代码,我们获取到了不同页面的关键词和描述数据,并且把关键词数据赋值给了变量$keywords,把描述数据赋值给了变量$description。这时,我们只需把原< head>头部的关键词和描述替换成这2个变量就可以了,替换后台的代码如下:

      < meta name="keywords" content="<?php echo $keywords; ?>">
      < meta name="description" content="<?php echo $description; ?>">

      好了,通过上面的三步,我们就让wordpress主题trans的不同页面,显示不同的关键词和描述,这样,虽然前台用户看不到什么,但是搜索引擎会看到,我们做这个,主要是给搜索引擎看的,这样有利于SEO优化。我们在搜索引擎里搜索相关内容时,我们也可以在搜索到的结果中看到这些数据。

      如果喜欢我的文章,那就点击“关注”按钮,来关注我吧。我会每天定时发表新内容。



      欢迎“关注”我的头条号,我会每天更新免费视频课程。

      头条二维码
      关注我的头条号
      头条二维码
      加入我的QQ群

    文章作者:码不停蹄
    本文地址:http://wanlimm.com/77202006278743.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

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

    或许你会感兴趣的文章:

    发表评论

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

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